Skip to main content

Full text of "Analog Computing Magazine Issue 23 (Fire Bug)"

See other formats


NO:23\^ » 11 rn\\ ^ OCTOBER 1984 ' ' 

The magazine for atari" computer ownerj 



^ 



1B< 




GoiyipyriiN© 



¥I¥I1¥E1T 




i 



; i:.ms:®:m.t. 



aa„«: L 4 



^> 




Prints double 
columns, form 
letters, multiple 
copies of a page or 
document, at the 
touch of a key. 



Numbers pages and 
creates section 
numbers 
automatically. 



Corrects spelling 
(with extra software). 



Chains and merges 
files. 



Changes line 
spacing, margins, 
print type, 
paragraph indents 
anywhere in the 
dociunent. 



Instantly reformats. 



Enters text easily, 
with word wrap, 
one main menu and 
helpful prompts. 



Creates miilti-line 
headers and footers. 



Has "print preview": 
you can check your 
copy before it's 
printed. 



IJbu can't find a friendlier, more 

powerful ivord processor at tivice the price. 

New AtariWriter: Under ^100. 



Now you can do multi-featured, word pro- 
cessing at home, simply. At a family budget price. 

Oxir ROM-based cartridge technology means 
you can use new AtariWriter on any ATARI® 
Home Computer (even 16K) for personal and 
business correspondence, term papers, commit- 
tee reports, mailings, etc. 

It also lets you choose between cassette and 
disk storage systems. 

One very special AtariWriter feature: you 
can correct as you write, without switching back 
and forth between Create and Edit m.odes. 

oi983Aiari, Inc. All rights reserved. C^3 A Warner Communications Company 



And our memory buffer offers an "undo" 
conmiand to let you change your mind, and re- 
store text you've just deleted. 

Check into our remarkable AtariWriter, and 
our choice of letter quaUty and dot matrix print- 
ers, also reasonably priced, at Atari dealers. Call 
800-538-8543 for dealer nearest you. In CaUfor- 
nia, call 800-672-1404. 

Ifou'll do more ivith 
Atari Home Computers. 




CIRCLE #101 ON READER SERVICE CARD 



OCTOBER 1984 




FEATURES 



A No-Frills Alternate Cursor Tom Hudson 15 

Climber John Hanke 24 

Minicomp David Bohike 29 

P/M Creator/Animator Scott Scheck 33 

Fire Bug Kyle Peacock and Tom Hudson 39 

Another BASIC Bug R.T Dolbeare 56 

Graphics 8 Character Generator Tom Hudson 57 

Dark Horse . . Kenneth Amidon and Wayne Underwood 65 



REVIEWS 

Casadapter (Sar-An) Ruth Ann Stone 17 

Family Finances (Atari) Bob Curtin 55 

TOP-DOS (Eclipse Software) Charles Bachand 75 

Donkey Kong Junior (Atari) David Shen 79 

ATR-8000 (Southwest Microcomputer) . . . Philip Altman 85 
Dr. Wacko's Guide to Your Atari 

(Addison-Wesley) Stephen James 88 

COLUMNS 

Editorial Jon A. Bell 4 

Reader Comment 6 

Griffin's Lair Braden Griffin, M.D. 8 

New Products Lee Pappas 12 

Ask Mr Forth Donald Forbes 18 

C:CHECK/D:CHECK 25 

Boot Camp Tom Hudson 80 

Control Characters 83 

BASIC Training Tom Hudson 90 

Index to Advertisers 95 





ANALOG COMPUTING (ISSN 0744.99171 is puWiihed monlhlv for $28 per year by ANALOG 400/800 Corp.. 565 Main Scm-i, Cherry Valley, MA 01611. Second class posiaee paid al VVoi 



OUR STORIES 
LACK IMAGINATION. 



Because Infocom's inter- 
active fiction is designed 
\^f'% to run on your imagination . 
^ ' That's precisely why 

there's nothing more interesting, 
challenging or interactive than an 
Infocom disk— but only after you've 
put it in your 
computer. 

Once it's in, 
you experience 
something akin to waking up inside a 
novel. You find yourself at the center 
of an exciting plot that continually 
challenges you with surprising twists, 
''"^essi'st"™ I^^HBH unique char- 
ms Jf^ RBtati ofwhompos- 
"^v§^ B^g^Ea sess extraor- 





dinarily developed personalities) and 
original, logical, often hilarious puz- 
zles. Communication is car- 
ried on in the same way as it 
is in a novel— in prose. And 
interaction is easy — you type 
in ftill English sentences. 

But there is this key difference 
between our tales and conventional 
novels: Infocom's 
interactive fiction is 
active, never pas- 
sive. The course of -la*** 
events is shaped by what you choose 
to do. And you enjoy enormous free- 
dom in your choice of actions 
—you have hundreds, even 
thousands of alternatives at 
every step. In fact, an Infocom 

CIRCLE #102 ON READER SERVICE CARD 




inuonai 

□ 




M3 interactive story is roughly 
the length of a short novel in 
content, but because you're 
actively engaged in the plot, 
your adventure can last for weeks 
and months. 

Find out what it's like to 
get inside a story. Get one 
from Infocom. Because with 
Infocom's interactive fiction, 
there's room for you on every disk. 

inFocom 

For ynur: Apple II. Macintosh. Atari. Commotiore 64 . CP/M 8'.' 
DECmate. DEC Rainbow. DEC RT-U. HP 150 & UO. IBM PC* 
& I'Cjr.* KAYPRO II. MS-DOS 2.0r NEC APC, NEC PC-8000. 
Osborne. Tl Professional. Tl 99/4A. Tandy 2000. TRS-80 Color 
Computer. TRS-80 Models I & III. 

•Use the IBM PC version for your Compaq and the MS-DOS 2.0 
version for your Wang, Mindset. Data General System 10. GRID 
and many others. 




ANALOG COMPUTING 
STAFF 

Editors/Publishers 

MICHAEL DESCHENES 
LEE H. PAPPAS 

Managing Editor 

JON A. BELL 

Production Editor 

DIANE L. GAW 

Contributing Editors 

DONALD FORBES 
BRADEN GRIFFIN, M.D. 
TONY MESSINA 

East Coast Editor 
ARTHUR LEYENBERGER 

West Coast Editor 

JIM DUNION 

Contributing Artists 

GARY LIPPINCOTT 
DAVID NOZZOLILLO 
LINDA RICE 

Technical Division 

CHARLES BACHAND 
TOM HUDSON 
KYLE PEACOCK 

Advertising Manager 

MICHAEL DESCHENES 

Distribution 

PATRICK J. KELLEY 

Production/Distribution 

LORELL PRESS, INC. 

Contributors 

PHILIP ALTMAN 
KENNETH AMIDON 
DAVID BOHLKE 
BOB CURTIN 
R.T DOLBEARE 
JOHN HANKE 
STEPHEN JAMES 
SCOTT SHECK 
DAVID SHEN 
RUTH ANN STONE 
WAYNE UNDERWOOD 



ANALOG Computing 
magazine (ANALOG 400/800 
Corp.) is in no way affiliated 
with Atari. Atari is a 
trademark of Atari, Inc. 



For subscription information 

and service 

call toll-free: 

1-800-345-8112 

in Pennsylvania call 
1-800-662-2444 



ADVERTISING SALES 



JE Publishers Representative „ 
6855 Santa Monica Blvd., Suite 200 
Los Angeles, CA 90038 
Los Angeles — (213) 467-2266 
San Francisco — (415)864-3252 
Chicago — (312)445-2489 

Denver — (303)595-4331 



ANALOG Computing 

Home Office 
Michael DesChenes 
National Advettisinji 
(617)892-9230 



^^ Gerald F. Sweeney &. Associates 
■^^ P.O. Box 662 

New York, NY 10113 

(212) 242-3540 



Address all advertising materials to: 

Michael DesChenes — Advertising Production 

ANALOG Computing 

565 Main Street, Cherry Valley, MA 0161 1 



ANALOG Computing (ISSN 0744-9917) is published monthly for $28 per year by 
ANALOG 400/800 Corp., 565 Main Street, Cherry Valley, MA 01611, Tel. (617) 
892-3488. Second-clas,s postage paid at Worcester, MA and additional mailing of- 
fices. POSTMASTER: Send address changes to ANALOG Computing, P.O. Box 
615, Holmes, PA 19043. No portion of this magazine may be reproduced in any form 
without written permission of the pubhsher. Program Ustings should be provided in 
printed form. Articles should be furnished as typed copy in upper and lower case with 
double spacing. By submitting articles to ANALOG Computing, authors acknowledge 
that such materials, upon acceptance for publication, become the exclusive property 
of ANALOG Computing. If not accepted for publication, the articles and/or pro- 
grams will remain the property of the author. If submissions are to be returned, please 
supply self-addressed, stamped envelope. U.S.A. newstand distribution by Eastern News 
Distributors, Inc., Ill Eighth Ave., New York, NY 10011. 

Contents copyright © 1984 ANALOG 400/800 Corp. 



ANALOG COMPUTING 




by Jon A. Bell 



Just as we went to press with our last issue (22), 
we received the news. Warner Communications had 
sold its loss-plagued Atari division to Jack Tramiel, 
former head of Commodore. Thus ended months of 
half-baked speculation and rampant rumors about the 
fate of Atari, once the fastest growing company in 
history The anxiety and nail-biting of software pro- 
ducers, hardware producers and, most importantly, the 
readers of this magazine was replaced with . . . relief? 
. . .anticipation? 

We at ANALOG Computing were left in a quan- 
dary. Should we replace the In This Issue page with 
a quickly- written editorial, giving our immediate reac- 
tions to the news? Or should we wait until next issue 
(this one) to get more information about the takeover, 
so that our speculation about the future of Atari would 
have some sort of credence? We placed a few phone 
calls around the country to gauge the reactions and 
monitored the Atari SIG on CompuServe to get fur- 
ther information. The general response, to use a White 
House euphemism, was "cautiously optimistic." Off- 
the-cuff comments about the sale ranged from, "if any- 
one can save Atari, Jack (Tramiel) can," to witticisms 
like, "he didn't buy the company to lose money." No 
kidding. 

We decided to wait. Now, we feel that our readers 
want to know two things: first, a summary of what 
we have heard about Atari— the direction Tramiel in- 
tends for the company (either by his own admission 
or from the speculations of market analysts); and se- 
cond, how these developments affect ANALOG 
Computing and our editorial policy. 
What "they" are saying. 

There are several schools of thought on where 
Tramiel may be taking Atari. One (strong) belief is 
that he will discontinue the non-profitable 600XL and 
flood the market with SOOXLs, backing them up with 
a new media blitz. This would generate fast cash for 
new Atari projects, as well as knocking some of the 
stuffing out of Commodore in the Christmas sales 
competition. (At the time of this writing, August 1, 
we have heard reports of SOOXLs being sold on the 
West Coast for $189 retail, with prices expected to 
go even lower before Christmas.) Prices for Atari soft- 
ware are also expected to be slashed dramatically. 



It will be interesting to see how Jack Tramiel's old 
company fares against these tactics. Along with Texas 
Instruments, Commodore's participation in the bloody 
price wars of 1982 and 1983 severely damaged Atari. 
With a price reduction, the Atari 800XL will deal 
its old nemesis, the Commodore 64, a serious blow. 

After cleaning out existing stocks of Atari hardware 
and software, then what? It's still too early to say 
whether Tramiel will use Christmas to get rid of old 
Atari products— to start afresh with new machines— or 
if he'll continue to manufacture the 800XL, maintain- 
ing a toehold in the low-end market. 

Another possibility. 

One train of thought is that Tramiel may tackle the 
higher-end computer market— Apple and IBM. Given 
this hypothesis, the next question is, "with what?" 
Many have assumed that Tramiel had a form of new, 
higher-end computer under development when he left 
Commodore. (The fact that Commodore has filed suit 
against several former employees for supposedly ab- 
sconding with trade secrets doesn't necessarily mean 
that Tramiel's "secret" computer was taken from 
them.) What could this computer be? There are strong 
rumors in the industry that Atari has been develop- 
ing a business computer based around the Motorola 
68000 chip, like Apple's famed Macintosh. With color 
graphics and an un-Macintosh price ($1000-$1500), 
Tramiel would have a winner on his hands. 

Boiling it down. 

Again, this is all speculation. We'd advise our read- 
ers to take it with several grains of salt. Second guess- 
ing the computer industry is a task that few people 
would willingly — or could afford to — place bets on. 

Where we stand. 

One thing that our readers can count on is this: 
ANALOG Computing is The Magazine for Atari 
Computer Owners. Not Commodore, Apple or IBM — 
and that's the way it's going to stay. If Atari releases 
new computer systems, then they'll be covered in 
these pages with the technical savvy that has become 
our standard. We'll always be first in articles, product 
reviews and programs. That's what our readers expect. 

Dedication is in what you do. . .not in what you 
say. n 



ISSUE 23 



ANALOG COMPUTING 



PAGES 



FOR 
ALL 

ATARI COMPUTERS 



BEST SELLERS FROM 
THE PROGRAMMERS WORKSHOP 



TWO DRIVES FOR 
THE PRICE OF ONE 

THE 

ASTRA 

1620 

MORE DISK DRIVE FOR YOUR MONEY ... 

In fact, with the ASTRA 1620, you get two superb Disk 
Drives for the price of one. The ASTRA 1620 is Single 
or Double Density (software selectable) and completely 
compatible with ATARI DOS or OSA + DOS. When 
used as Double Density, the ASTRA 1620 has the 
same capacity as Four ATARI 810® Disk Drives. 
if Satisfaction Guaranteed ir 





INCLUDED: at no extra charge 

Any Program Listed on this Page Pius SMARTDOS. 



THE HOME WRITER $39.00 



The HOME WRITER is an easy to use word proces- 
sor which includes a carefully selected group of func- 
tions that are at your disposal immediately. The func- 
tions are as follows: SAVE, LOAD, REVIEW, PRINT- 
OUT, or EDIT. All the popular editting features avail- 
able on the ATARI Home Computer in direct prog- 
ramming mode are also available with HOME WRIT- 
ER. Unlike other small word processing programs, 
HOME WRITER does not wrap-around when at the 
end of a line. Right and left margin justification is 
available for any type parallel printer. 48K. 



FILING SYSTEM $39.00 



FILING SYSTEM allows the user to configure any 
type of data file imaginable. Examples are recipe 
cards, mail lists, reminders for birthdays, check-ups, 
etc., complete inventories (home and business), 
personnel files, customer call-ups, price list, and 
much, much more. You may retrieve data using any 
field or combination of fields. Files also may be 
saved, sorted, and printed in a preset format that you 
configure. Uses either a single or a double density 
disk drive. 24K minimum. 



THE PROGRAMMERS WORKSHOP 

5230 Clark Ave., Suite 19 
Lake wood, CA 90712 

(213) 920-8809 



DESK SET $39.00 



DESK SET is a perpetual calendar, an appointment 
calendar and also a card file. The perpetual calendar 
is a calendar of every month, past, present or future. 
The appointment calendar allows up to 15 entries to 
be made each day. The card file is a mail list program 
which holds up to 200 addresses. The printing format 
of card file includes continuous lists, labels or en- 
velopes. Files can be printed; all the files from one file 
number to another; by zip code; by state or by 
selected files. DESK SET is an easy way to organize 
your life. 40K 



FINANCIAL CALCULATOR $29.00 



The program answers virtually any questions con- 
cerning the cost of money, loans, and interest earned 
on savings, loans and investments. Plus, this pro- 
gram will give a complete interest earned table and 
amortization table. This program is a must for anyone 
serious about money. 32K. 



SMARTDOS 



SMARTDOS is 100% density smart. SMARTDOS will 
sense the density of each disk in use and automatically 
reconfigure the entire system to that density. 
SMARTDOS does not require that a "system disk" has to 
remain in the drive, or be continually inserted and re- 
moved in order to use the DUP.SYS commands. 
With SMARTDOS you may Copy with query, (eliminates 
specifying each item individually). 

Counter screens - which keeps the user informed as to 
what the system is doing and where in the task the sys- 
tem is. 

Disk testing for bad or unusual sectors that may be cor- 
rected. 

RESIDUP feature allows simple yet powerful full time 
availability of DUP.SYS commands while leaving your 
program intact and ready to RUN. 

Minimum keystrokes for maximum power, e.g. a disk di- 
rectory is done by pressing only one key - the drive 
number (great for filesearches), and " = " may be used to 
replace *.*. 

The ability to run from 1 to 9 autorun files sequentially. 
Built in disk drive speed check. 

SMARTDOS is only 34 single density sectors long and 
works with all Atari computers with a minimum of 24K 
RAM. 



OTHER PROGRAMS 



Billing/Inventory 


48K 


$49.00 


Stat Plus 


24K Min 


$29.00 


Forecaster 


24K Min 


$29.00 


Disk Fix Kit 




$29.00 


Master Mail List 


48K 


$19.00 


Letter Writer 


24K 


$19.00 


Letter System 


48K 


$29.00 


Doom and Boom Tycoon 


24K 


$19.00 


Word Wiz 


24K 


$19.00 


Demons Dungeon 


24K 


$19.00 


4 Player Blackjack 


24K 


$14.95 


Drawing Board 




$14.95 



TO ORDER: 



VISA/MasterCard, check or money order accepted. If charge, please Include expiration date of card. Ship- 
ping and Handling software $1.50, disk drive, $10.00. California residents add sales tax. Phone or mail. 

" ATARI is a registered trademarl< of Warner Communications 



CIRCLE #103 ON READER SERVICE CARD 



ANALOG COMPUTING 




AtariWriter for utilities. 

I have been an Atari user for sev- 
eral years and an avid follower of 
ANALOG magazine during that 
time. Having just purchased a disk 
drive and printer, 1 was in the mar- 
ket for a word processor. After talk- 
ing to other users and from reviews 
I've read, I decided on AtariWriter. 
1 spent a little time experimenting 
with it and found it easy to use and 
everything a word processor should 
be. 

Then 1 read in its handbook that 
the AtariWriter was designed to be 
able to load and process text gener- 
ated on almost any other word pro- 
cessor. Knowing how programs are 
LlSTed to disk or cassette, I stuck 
in my utility's disk and entered a 
program that 1 had LlSTed to the 
disk. 1 entered the edit mode, and 
my listing looked normal. Okay, it 
handles a listed program as if it 
were text. Therefore, could 1 not 
use the power of the AtariWriter 
to edit this file? The program 1 had 
loaded was BUNCRUSH (ANA- 
LOG issue 7), which 1 had modi- 
fied for screen use, as 1 did not have 
a printer at the time 1 started us- 
ing this utility. 

Well, to get to the meat of this 
(new word processors tend to make 
one long winded), 1 entered the 
search option and searched for any 
PRINT commands. It found the 
first, prompted for a replacement 
string, then asked if 1 wanted it to 
change all entries. Having used the 
AtariWriter to replace all PRlNTs 
with LPRlNTs, I saved it to disk 
(AtariWriter save, not DOS), in- 
stalled my BASIC cartridge, and 
loaded a game program. At that 
point, 1 ENTERed BUNCRUSH. 
TEM, gave it a G.32500, and the 
printer came to life. Everything 1 
had been getting on the screen was 
now coming up on the printer. It 



has also worked very well with GO' 
TOs, GOSUBs and several other 
BASIC commands. 

Was this too good to be true? 
Will it work on other programs? 
Within certain limitations, it works 
very well on most programs. In a 
matter of minutes I have convert- 
ed several of my high text output 
programs from screen to printer. 

Having been in the process of 
doing this manually since I bought 
my printer — and spending a con- 
siderable amount of time searching 
a program listing for PRINT and 
? commands — this is so easy it's un- 
real! Atari made a more powerful 
word/program processor than even 
they imagined. 

Miles H. Bosworth 

AsheviUe, NC 28805 



IBM — not for hackers. 

I know that there are probably 
many Atari computer hackers who 
think that they have outgrown the 
Atari and should move up to a 
"real" computer, such as the IBM. 
Well, I have access to both an Atari 
and an IBM and, after using both, 
I think you should reconsider Read 
over the following list and see what 
you think. 

(1) The IBM is extremely expensive. 
The basic system — without a disk 
drive and with a monochrome 
monitor is over $2000. Also, be- 
lieve it or not, you must buy DOS 
separately, for about $100! The 
whole computer is useless without 
it! 

(2) Graphics extra. Wonderful 
graphics capabilities are built in on 
the Atari, but to get them on the 
IBM, you must buy a graphics card 
for around $500. 

(3) Unfriendly DOS. IBM DOS 
doesn't even have a menu of com- 



mands that can be called up! You 
must keep the manual handy at all 
times. 

(4) No syntax checking in BASIC. 
The computer will accept anything 
as long as it begins with a line 
number! You won't find out about 
your errors until you run the pro- 
gram. 

(5) Limited string capability. Your 
strings can be DIMensioned to any 
length, but the string functions, 
such as MID$, only work on strings 
up to 255 characters. 

(6) The IBM is a memory hog. I 
had the opportunity to use the 
IBM Pascal compiler. After typing 
in a short ten-statement program, 
I attempted to compile it. I re- 



The Best For Less 

INDUS GT 

$349.95 



—GUARANTEED LOWEST PRICES— 
WE'LL BEAT ANY "CALL" PRICE 

ATARI 800XL S269.95 

ABATI DAISYWHEEL PRINTER . $399.95 
APE FACE PRINTER INTERFACE . S59.95 

UNIVERSE S69.95 

ULTIMA III S39.95 

FLIGHT SIMULATOR II S39.95 

JUPITER MISSION S39.95 

SPACE COWBOY §19.95 

FREE TRADER $19.95 

FLAK $24.95 

SEASTALKER (Infocom's latest)S34.95 

BROADSIDES S29.95 

50 MISSION CRUSH S29.95 

RAILS WEST $29.95 

QUESTRON S39.95 

SEVEN CITIES OF COLD S34.95 

FINANCIAL COOKBOOK S39.95 

BEACH-HEAD S29.95 

RETURN OF HERACLES $24.95 

ULTIMA III HELP BOOK $12.95 

Please add S2.50 shipping (55.00 outside USA) 

California residents add 6%. 

Send Stamped Self Addressed Envelope 

for FREE CATALOG 



COMPUTER GAMES -i- 

BOX 6144 I 

ORANGE CA 92667 
(714) 639^189 ■ 



CIRCLE #104 ON READER SERVICE CARD 



ISSUE 23 



ANALOG COMPUTING 



PAGE 7 



ceived the message "compiler out 
of memory." At the time, I had 
128K RAM and two 320K double- 
sided disk drives. The program had 
filled an entire disk! Also, why does 
a mediocre word processor on the 
IBM take 128K, when a great one 
on the Atari only needs 16K? Good 
question! 

Maybe now you'll look at your 
good ole' Atari in a new light. The 
IBM may be a great business ma- 
chine, but it is far from a hacker's 
dream. 

Sincerely, 

James Hague 

Randolph, NJ 



BBS news. 

We've just recently started a new 
BBS in north Idaho. We're calling 
it l.'RA.C.E., and featuring Atari 
computer downloads, plus other 
useful items for computer hackers. 

We are currently using a highly 
modified version of AMIS BBS 
software that is being enhanced 



RAM for ATARr 

Fully Assembled • Lifetime Warranty 

48K/52K Memory Board $89.95 

For ATARI* 400 

52K Addressable Memory 

Easy to Install 

32K Memory Board $54.95 

For ATARI* 400 or 800 

16K Memory Board $39.95 

For ATARI* 800 

BUILD YOUR OWN MEMORY 

48K/52K Board (No Comp.) $30.00 

32K Board (No Comp.) $20.00 

16K Board (No Comp.) $ 9.00 

48K/52K Complete Kit $75.00 

32K Complete Kit $45.00 

16K Complete Kit $30.00 

Add $2 Shipping & Handling 
Visa & MasterCard Accepted 



*ATARI is a trademark ot Atari, 
Dealer Inquiries Welcome 



Inc. 



Tiny Tek, Inc. 

Route 1, Box 795 

Quinlan, TX 75474 

214-447-3025 



and added to almost every day, to 
make it more user-friendly. We are 
now in 24-hour operation, requir- 
ing no passwords, and with no set 
time limits as of this writing. Our 
BBS phone number is (208) 772- 
5922. 

Thank you. 

The Sysops 

Robert P. Marshall 

While typing in Kyle Peacock's 
Bacterion!, I came up with a great 
idea. Why not have a national BBS 
(possibly with a toll-free number) 
for subscribers, from which they 
could download various programs 
from your magazine? While 1 am 
not a subscriber, you can bet I'd be 
one if such a service existed. 

The thing I like about your mag- 
azine over other, similar ones is the 
way you list the programs as they 
would appear on the computer's 
screen. This feature has saved me 
a lot of frustration. 

In your article on telecommuni- 
cation, you only had one BBS list- 



FROM 



THREE 

PDQ DISKS 

AND A NEW 

FUTURE 



FOR 
JUST 

'9.95 



We'll tell you about the disks: 

PDQ - Premium Disk Quality 
DD - Double-Density (48 TPI) 
OS - Double-Sided 

Ttie front is ready for you to format and 

use; tfie back is reusable. 
W21 - 21-year Warranty! 

Your Atari (48-K) can tell you about your 
new future. 

Boot in tfie program on the back of each disk. 
You'll see. 

Order PDQ! Write "PDQ" on a paper, with 
your (legible!) name and address; send with 
$9.95 (we'll pay the shipping -NYS residents 
add 7% Sales Tax) to: 

SENECOM 

Dept. 101 

13 White St. 

Seneca Falls, N.Y. 13148 

Limit: one order per address, please. 
AtarP is a registered trademark of Atari Corporation. 
SENECOM is a registered trademark of 
Seneca Computer Company, Inc. 



CIRCLE #105 ON READER SERVICE CARD 



ing in the 713 area code region. 

There are many good ones around 

here: 

T.A.P.S 713-467-0792 

ACOM 713-530-0164 

H.A.C.E 713-467-0792 

(Houston Atari 
Computer Enthusiasts) 
Sincerely, 
Paul Mitchum 

We've received an announcement 
for a new BBS in Fayetteville, NC. 
Here it is: 

The Soldier City BBS 

PC. Box 70 

Fayetteville, NC 28302 

Fred B. Deem, III — Sysop 

919-323-3934 

The Soldier City BBS serves the 
following Atari system configura- 
tions: Atari 800 (48K), Atari 850, 
Percom RFD44-S2 DDS Drive Sys- 
tem, Atari 1025, and Hayes 1200 
Smartmodem. The BBS is in 24- 
hour per day operation. 

(continued on page II) 



PUT THE WORLD 
AT YOUR FINGERTIPS 




A fascinating world exists on shoriWd 'C udiu v.ilh 
Ham operators, talking from around the globe But 
tfiey are talking in code— Morse code. To many learn- 
ing Morse code is the major obstacle to exploring this 
world, but no longer! 

With Morsecode Master your computer becomes the 
ideal teacher. You are taken step-by-step from 
recognizing single characters to complete sentences, 
at up to 30 words per minute! Morsecode Master can 
both teach the beginner and improve the ability ot 
those who know the code. 

Morsecode Master is available for Atari^" computers 
on disk or cassette (it requires only BASIC and 48K 
of memory). Let Morsecode Master introduce you to 
a whole new world. 

Send $29.95 plus $1.00 for postage to: 
NEW HORIZONS Software 
P.O. Box 180253 
Austin, Texas 78718 

Please write to us lor a description of all of our products lor Atari 
Computers. 



New Horizons 

Expanding Your Life 

Dealer inquiries invited. Atari is a trademark of Atari. Inc 



CIRCLE #106 ON READER SERVICE CARD 



CIRCLE #107 ON READER SERVICE CARD 



PAGES 



ANALOG COMPUTING 



ISSUE 23 



Griffin^s 
Lair 

Educational 

Programs 

Revieiv 




by Braden E. Griffin, M.D. 



Apologia Analogum: 1 must apologize to any of you 
expecting to see a review of Infocom's Seastalker (pro- 
bably, mostly, the staff at Infocom). I was not aware 
of its proposed inclusion in this month's issue until 
I picked up issue 22— the same day I dropped this 
one off at the offices of ANALOG! I did promise 
to review this item soon after receiving it, but not 
this soon. When my H-year-old son and 12-year-old 
daughter both made their respective all-star teams this 
summer, 1 lost my two crack game-testers to two-a- 
day practices. 1 promise {never promise. Griffin) that, 
in next month's column, I will take a look at Sea- 
stalker, as well as some other educational -adventure 
games. 

Onward. 

In recent years, our school systems have placed in- 
creased emphasis on science and related fields. It is 
unfortunate that this is often accomplished by limit- 
ing our children's exposure to art, music and the like, 
but that's the way it is. . .Sounds like the perfect in- 
troduction to a series of reviews pertaining to those 
areas that have been shortchanged and how home 
computers can assist in filling this void. 

Wrong again, Renaissance man. Sure, it would be 
great if everyone were like Leonardo, but they ain't. 
It appears that, for many of our youngsters, the most 
predictable opportunities (read: employment, food. 



shelter!) are in science-related fields. Do not take this 
wrongly. Gifted individuals should always be encour- 
aged to develop their unique skills. Life would, in- 
deed, be bland, if it were not for those who show us 
the beauty of Nature and Man. But, if one is not 
strong in the "arts," then a solid foundation in the 
"sciences" may come in handy. Of course, some am- 
bivalent individuals can't decide which way to go and 
often end up practicing the "art" of medicine. (And 
I'm going to keep practicing, until I get it right.) Most 
physicians, psychiatrists excluded, consider themselves 
scientists, until they are asked to provide a scientific 
explanation for much of what they do. Then they'll 
quickly fall back on that reliable old saw, "Medicine 
is an art, not a science." Sure it is. 

Science is fun and exciting. Science is also tedious 
and exacting. Science is not just learning about what 
others have discovered as to the nature of things. It 
involves observation, study and experimentation in 
a systemized manner to provide this knowledge. Trial 
and error, deductive reasoning, and discovering pat- 
terns and relationships are all part of the "scientific 
method." 

The mental discipline developed in the study of 
science is important in all aspects of our lives. The 
two programs reviewed this month will not only en- 
courage the development of this discipline, they will 



ISSUE 23 



ANALOG COMPUTING 



PAGE 9 



also help to stimulate interest in science itself. We 
should never discourage the natural curiosity of child- 
hood, nor should we permit our children to take things 
for granted. Being able to substantiate the scientific 
principles of nature with well-founded data is a re- 
markable feeling. Remember, even a stopped clock is 
right twice a day (from Marie von Ebner-Eschenbach, 
1905). 

THE INCREDIBLE LABORATORY 
SUNBURST COMMUNICATIONS, INC. 
39 Washington Avenue 
Pieasantville, NY 10570 
48K Disk $49.00 

Strictly speaking, The Incredible Laboratory is not 
really a science program. However, it does use a scien- 
tific theme to promote the development of problem- 
solving skills important in science and other areas of 
study. 

Donning the cloak of a scientist, the player creates 
a monster by combining a variety of chemicals. As 
each chemical is selected, it is added to a bubbling 
beaker in the laboratory. Each selection is responsible 
for a particularly weird body part. Once a sufficient 
number of chemicals have been combined, a lab burn- 
er heats up the contents of the beaker. Upon vapori- 
zation of this concoction, the monster thus created 
appears on the screen. The object is to figure out 
which chemicals, or combinations of chemicals, are 
responsible for that distinct creation. 

Three gradations of expertise — novice, apprentice 
and scientist— provide a number of variations on this 
basic theme. Additionally, each of these offers two 
methods of interaction. In the PLAY mode, one has 
the opportunity to experiment and discover just which 
chemicals relate to which body part. Using the in- 
formation gathered during this phase, one may then 
enter the CHALLENGE mode, where this knowledge 
is pitted against an opponent. 

Here, the players alternate in selecting a chemical 
to be added to the mixture. Once the necessary in- 
gredients are present and have been vaporized, three 
dissimilar monsters appear on the screen, only one 
of which is the actual result of that specific combi- 
nation of chemicals. After the players have chosen 
the monster each thinks is the one just created, the 
two phonies melt from the screen. The winner is the 
player who has made the correct choice. 

The three levels of rank provide an excellent pro- 
gression as skills are developed. In the novice level, 
a list of six chemicals is displayed on the screen, each 
chemical being responsible for an unknown but spe- 
cific body part. One may select any or all of these 
to go into the beaker. If all of the chemicals are not 
used, the monster automatically adds as many others 
as are necessary to furnish all six body parts. 

For example, the "magic powder" will always pro- 
duce the same kind of eyes, while the "red dust" has 



a specific effect on another body segment. If a second 
monster is created with five of the six original ingre- 
dients, leaving out the red dust, a similar mutant will 
result, only this time the three heads of the earlier 
version have been replaced with a Medusa-like head. 
Having made this observation, one determines that 
red dust is the chemical which produces three heads. 
Another strategy would be to change all the ingre- 
dients save one, then deduce its unique effect by no- 
ticing which feature remained unchanged. 



JOEY'S Moris-t. 



DRRK CRYSTRL 

BLUE GOO 
SLIMY ROCKS 
DRRCON SCRLE 
GOOSE GRERSE 

SPRRKLES 
SILVER SYRUP 
BURNT URTER 
LRSER LIGHT 

RLIEN OIL 
YELLOU RIND 
PURPLE LINKS 



Press RETURN to continue. 



The Incredible Laboratory. 

Keen observation and keeping a list of the results 
of one's experimentation help determine which chem- 
icals give rise to distinct body components. These are 
similar to the problem-solving skills involved in the 
classic whodunit game. Clue. Each chemical produces 
exactly the same body feature every time one plays. 
If the "goose grease" produces tennis shoes, it will al- 
ways produce tennis shoes. Other chemicals will be 
specific for other kinds of shoes. In the CHALLENGE 
mode, the monster is created from a list of available 
chemicals. This tests one's ability to discern the com- 
posite monster, based on the information acquired in 
the PLAY mode. 

As an apprentice, the player encounters two addi- 
tional skill levels. In the first, groups of three chemi- 
cals, each producing the same body part in a different 
form, are listed. One chemical from each group is se- 
lected until all six body parts (head, eyes, arms, torso, 
legs and feet) are represented. Strategies similar to 
those in the novice level are used. The PLAY and 
CHALLENGE modes resemble those above. 

Level 2 offers a bit more of a challenge. Two chem- 
icals may be selected from each group of three, and 
these combinations produce their own distinct mon- 
ster parts, yielding a total of six different configura- 
tions from each group. At this rank, the individual 
chemicals and mixtures again produce the same result 
each time the game is played. The CHALLENGE 



PAGE 10 



ANALOG COMPUTING 



ISSUE 23 



round presents a list of nine chemicals from which 
to choose, permitting one to use some of the mix- 
tures in creating the monster. 

Once one becomes a scientist, the skills practiced 
up to this point are really called into play. The two 
levels here are similar in format to those of the ap- 
prentice level, with one notable exception. Each time 
one plays scientist, the chemicals produce different 
results. A chemical previously responsible for winged 
arms may now produce high-heeled shoes. This means 
starting from scratch each game. 

The same chemicals, or combinations of the same, 
are used in the CHALLENGE phase, once they have 
been successfully mastered in the PLAY mode. A num- 
ber of variations in the playing format are suggested, 
from using a timer to limiting the number of PLAY 
experiments available. One could even have contests 
based on the creation of a particular kind of mon- 
ster with similar characteristics (e.g., color specific 
or birdlike). 

Success! 

The Incredible Laboratory is a well designed game. 
The graphics are superb, providing a wide variety of 
colorful and hideously funny monsters. It plays fairly 
quickly and is quite user-friendly, controlled almost 
entirely with a joystick. Designed for ages eleven to 
adult, many children slightly younger would have lit- 
tle difficulty with this program. Even very young chil- 
dren will enjoy the creation of these miscreants. 

The stimulation and development of problem solv- 
ing skills, with an emphasis on the organization of 
information, make this a truly beneficial educational 
experience. Whether solving the mysteries of the Uni- 
verse or dealing with the problems we have created 
for it, the fundamental approach to understanding is 
similar. The Incredible Laboratory will help estab- 
lish a solid foundation on which to build. 

ATARILAB STARTER SET 
with TEMPERATURE MODULE 
Atari Learning Systems 
ATARI, INC. 

Sunnyvale, CA 94086 
16K Cartridge $89.95 
(Disk drive or printer optional) 

The first of a proposed series of computer programs 
making up the AtariLab Science Series, this starter 
set includes the AtariLab Interface to be used with 
the different modules as they become available. Atari 
has begun this series with the Temperature Module. 

Modules to come will contain special sensors and 
equipment enabling one to set up experiments deal- 
ing with light, sound, heart rate and, potentially, many 
others. The Temperature Module is composed of a 
16K ROM cartridge, a temperature sensor, a thermom- 
eter and an instruction manual. This equipment, plus 



the interface, allows one to construct a portable labora- 
tory station with relative ease. 

The interface. 
The AtariLab Interface is fundamental to the lab. 
Although it is plugged into the #2 slot for use with 
the Temperature Module, it can be inserted into any 
of the controller jacks of the computer. It contains 
eight phonojack inputs which may be used in a vari- 
ety of ways. 




Temperature Module. 

The top two inputs are the analog inputs. Any sen- 
sor which has a resistance to the flow of electrical 
current similar to an Atari paddle can be connected 
to these (like the temperature sensor included in this 
set, light sensors and certain microphones). The ROM 
cartridge is programmed to calculate the quantity mea- 
sured and translate it into meaningful information. 
Details on programming one's own experiments us- 
ing BASIC, Logo or other computer languages are in- 
cluded in the manual. 

The two binary inputs of the interface enable one 
to record information in an "on" or "off mode (e.g., 
when the red fire button is pressed on a game pad- 
dle). These inputs will be used as part of a device 
called a "photogate" with the Light Sensor Module. 
This gives one the ability to measure the speed of 
moving objects, or even to read the bar code on su- 
permarket items. 

The third row of inputs are those used normally 
when a joystick is moved up and down. Household 
appliances could be turned on or off, or a small robot 
could be controlled using these inputs. 

The final two slots are power outputs which allow 
users to share the +5 -volt power supply with the com- 
puter and operate small devices. 1 am certain that 
there are many computer enthusiasts who will be able 
to perform a wide variety of projects with the inter- 
face alone. 

(continued on page 92) 



ISSUE 23 



ANALOG COMPUTING 



PAGE 11 



Reader Comment 

(continued from page 7) 

I'm trying to find a way to get a 
cursor that not only blinks but is 
reduced to a thin underline in- 
stead of a full block. Can you help 
me? A machine language subrou- 
tine for page 6 would be ideal. I 
enjoy your magazine a great deal 
—and have found it a great help, 
as well as a lot of fun. 

Sincerely, 

Patrick McShane 

Nampa, ID 

No problem! Check out the No 
Frills Alternate Cursor in this is- 



sue. 



-TH 



Send letters to: 

Reader Comment 

P.O. Box 23 
Worcester, MA 01603 



ATTENTION AT AR\ DISK 
DRIVE OWNERS 

Back up your 
valuable software. 



THE CHIP 

THE CHIP with Archiver/Editor Software lor tile Atari 
810 and 1050 disc drives, includes Disassembler & 
Sector Editor, Includes Custom Formatter and Map- 
per. Backs up virtually any disk. 

$129,95 POST PAID 

Available soon for 

other Atari compatible disc drives. 

HAPPY 810 ENHANCEMENT 

Complete with Warp Speed software package. Plug-in 

installation — no soldering. Backs up any disc. 

Regular Price $249.95 

LIMITED SPECIAL OFFER $199.95 

Soon available for other disc drives. 

HAPPY OWNERS 

update your enhancement with Happy Version Arch- 
iver/Editor. Makes Happy drives compatible with the 
chip. 

$39.95 POST PAID 

All software for ffte Atari DISCOUNTED 30% or MORE. 
Discounts on all Atari compatible hardware. 

Send for free brochure on any ol the above or (or details on our 
software discounts. 



SOUTHERN SOFTWARE 

A DIVISION OF SOUTHERN SUPPLY COMPANY 
1879 RUFFNER ROAD BIRMINGHAM, AL 35210 

24 HOUR PHONE 205-956-0986 
Order before 1 1 AM. for same day stiipplng. 



THANK YOU H! 

Your tremendous response has allowed LotsaBytes to hiold down prices 
and expand our product line. Our National Public Domain Service will 
continue to offer quality, quantity, selection, and the low prices that you 
deserve. Our selections from our Master Library of thousands of Public 
Domain programs will save you time, tedious work, and money. The price 
per Public Domain disk is still only $7.95 and there are more FREE 
BONUSES than ever before to choose from. 



PI 


JBLIC DOMAIN SOFTWARE 

#2 1 #3 




# 1 


# 4 


GAMES 


UTILITIES 


AMS MUSIC 


GAMES 


Two full disk 


25 powerful 


25 Advanced 


All different ! 


sides packed 


programs to 


Musicsystem 


Filled on both 


with over 


help you get 


files including 


sides with 


25 games 


the most out of 


a new Player 


classics, new 


including some 


your Atari 


program. 


games, some 


Arcade quality. 


computer. 


2 sides. 


Arcade types. 


$7.95 


$7.95 


$7.95 


$7.95 


#5 


#6 


# 7 


# 8 


EDUCATION 


AMS MUSIC 


GAMES 


UTILITIES 


We loaded this 


All different ! 


No duplicates 


Another all 


disk up with 


Some of your 


here. Includes 


different 


something for 


favorite music. 


some of the 


assortment 


everyone in the 


Includes 


latest Arcade 


to unleash 


family. 


Player pro- 


types. 


the full power 


Two sides. 


gram. 2 sides. 


Two full sides. 


of your Atari. 


$7.95 


$7.95 


$7.95 


$7.95 



* * FREE BONUS * * 

If you purchase any three or more disks at one time you may choose 
any one of the following disks FREE ! ! 

a. The Atari XL TRANSLATOR DISK 

that enables XL owners to use most 400/800 software. FREE ! ! 

- - or - - 

b. An all different AIVIS MUSIC disc with Player. FREE!! 

- - or - - 

c. Your choice of any one of the above public domain disks ~ 

#1 , #2, #3, #4, #5, #6, #7, or #8 (specify one). FREE ! I 



LotsaBytes EXCLUSIVES 



ADVANCED 
MUSICSYSTEM II 

by LEE ACTOR 
Allows you to make music 
with your Atari computer I 
All new machine code 

* Control over pitch 
duration, envelope 
dynamic level, meter, 
tempo and key. 

* 4 independent voices 

* 5 '/? octaves per voice 

* Save up to 8200 notes 

* Custom DOS 

* FULL instructions 

* 24K disk 
or 16 K cassette 




>::: 



Originally $29.95 Only $14.95 



ORIGINAL ADVENTURE 

by Bob Howell 
For all Ataricomputers. 
The Original Colossal Cave 
Adventure faithfully 
reproduced from the 
'main-frames'. This is the one 
that launched the whole 
Adventure craze of today I 

* Two mazes 

* 130 rooms 
'* Deadly Dragons 

* Nasty Dwarves 

* Tenacious TrollC - 

* The Pirate & More ! 

* 86 coded hints 

* SAVE/RESUME 

* 40K disk or 32K 
Originally $24.95 Only $14.95 




. QUALITY WORD PROCESSING . 



ESI WRITER ! At last a brand-new Word Processor that has more 

features and is easier to use than anything else available for the 

Atari. Easy for the beginner to use, it asks questions and remembers 

the answers, ESI WRITER is so sophisticated that it has about 50 

features we don't even have room to mention! Works with ANY Atari. 

"* Reads any text file * Built in Help screen 

* Very fast! * WORKS WITH ANY PRINTER 

* Instant top or bottom text location without scrolling ! 

* Every printer feature * DISK ONLY (Any Atari) 

TRUST US ON THIS ONE! YOU WILL LOVE IT! 

Originally $49.95 LotsaBytes price $24.95 



Full 100% Replacement guarantee.Any disk found to be defective will be replaced free and we will 
also refund your return postage. All orders shipped by First Class U.S. Mail, Add SI, 95 shipping and 
handling lor 1 lo 5 disl(s. Add $2,95 lor 6to 12 disks, California residents add 6% sales tax. Outside of 
US, A, and Canada add 15%, US, Funds only. We accept checks or Money Orders, Sorry, no COD or 
Charge Cards, Allow two weeks for personal checks to clear. 



LotsaBytes 



15445 Ventura Blvd,, Suite 10H 
Sherman Oaks, CA 91413 

Alari is the registered trademark of Atari, In 



CIRCLE #108 ON READER SERVICE CARD 



CIRCLE #109 ON READER SERVICE CARD 



ANALOG COMPUTING 




by Lee Pappas 



THE FIRST STARFIGHTER 

Suncom now offers a high rehabiUty 
joystick using a new technology which 
eUminates the bulk of moving parts 
found in most controllers. The Star- 
fighter has two switches not found on 
other sticks — a hi/lo sensitivity control 
which will change the stick's response 
curve (speed) and a throw switch which 
allows the player to select either short 
or long movement of the joystick. 

The Starfighter is also designed for 
left- and right-handed players, with an 
auxiliary fire button for programs requir- 
ing a second button function. The joy- 
stick is self-centering and comes with a 
two-year warranty (upgradable to three- 




year for a small additional charge). 

Available at $49.95 from Suncom, 260 
Holbrook Drive, Wheeling, IL 60090 - 
(312) 459-8000. 



PARKER BROTHERS' 
NEWEST CHALLENGE 

Montezuma's Revenge puts you in the 
shoes of Panama Joe, in search of fantas- 
tic treasure. Guiding "Joe" through this 
graphic adventure pits you against laser 
gates, fiery pits, cobras, spiders, skulls 
and other assorted obstacles, including 
locked doors to which you must find the 
keys. 

Finding magic amulets, swords, jewels 
and torches allows you to proceed to the 
pitch black lower levels, where avoiding 
the disappearing floors becomes even 
more difficult. 

Available on a dual-sided disk (Atari/ 
Commodore 64). Parker Brothers, Bev- 
erly, MA 01915. 




NEW ATARI DRIVE 

The Concorde C-221M single-sided 
disk drive is a fairly low-priced unit, 
featuring the master/slave concept and 
running 5 'A" floppy disks. The addition 
of up to three lower-cost slave units can 
bring your Atari computer up to 704KB 
of on-line disk storage. The C-221M 
(master) or C-221S (slave) provides 88K 
single density storage, with 176K in dou- 
ble density mode. 



PEANUT BUTTER PANIC 

Adding to its impressive array of edu- 
cational Atari products, CBS Software 
now offers Peanut Butter Panic, deve- 
loped with Children's Television Work- 
shop. 

This cartridge- or cassette-based pro- 
gram is an arcade game oriented toward 
children, where the object is to cooper- 
ate with others to achieve a common 
goal. While there are no winners — or 
losers — in the game, the players have fun 
sharing information and peanut butter 
sandwiches. Includes manual with activi- 
ties and handy setup card. 




Cartridge ($36.95) or cassette ($26.95) 
available from CBS Software, One Faw- 
cett Place, Greenwich, CT 06386 — 
(203) 622-2525. 




The C-222M or C-222S models are 
double-sided master and slave drives with 
176K single density storage or 35 2K dou- 
ble density. All of these sleek-looking 
drives come with a one-year, over-the- 
counter warranty for exchange and Atari 
DOS. Additional features include direct 
drive motor, full 48 -hour testing before 
leaving the factory and optical track-zero 



sensing. The master/slave concept re- 
quires purchasing one master unit to run 
additional slave drives. 

C-221M - $369, C-221S - $269, C 
222M - $459, and C-222S - $349 all 
from Concorde Peripheral Systems, Inc., 
23152 Verdugo Drive, Leguna Hills, CA 
92653 - (714) 859-2850. 



ISSUE 23 



ANALOG COMPUTING 



PAGE 13 



SIERRA'S NEW LINE 

Sierra On-Line's recent change of 
name (to "Sierra") brings with it many 
new products. Homeword is one of the 
top-selling word processors for the Atari, 
now supported by Homeword Speller, 
a 28,000+ word dictionary of the most 
commonly used and misspelled words — 
with room for another 2,500 words of 
the user's choice. 

Homeword Filer integrates with the 
former two programs to form a complete 
home/family record management system. 
Pictures ("icons") replace endless text 
menus, making the program easy to use. 
Future Sierra plans call for Homeword 
Typer, Tax and Gardener additions to 
the current line. 

Adding to its famous line of entertain- 
ment software, Sierra fills a long-stand- 
ing gap with B.C.'s Grog's Revenge. 
This cartridge-based game presents the 
same style graphics used in B.C.'s Quest 
for Tires, except now Thor must 
stonewheel his way up a mountain and 
collect points along the way. The game 
is for one or two players. 

Sierra has also announced a series of 
educational products, including Wiz- 
math, a game for ages 8 and up that as- 
sists in the development of math skills. 
This program has a special scoring sys- 
tem that can be controlled according to 
ability, making it possible for a 12 -year- 
old to compete with an adult. 

Wiztype introduces basic typing and 
keyboard skills, as players learn to type 
letters and words. Spirit, a Wizard of Id 
character, creates the problems for the 
user to solve. Colorful graphics enhance 
the game— like the Wizard of Id zapping 
Spirit with a lightning bolt on correct 
responses; or, on slow typing, Spirit turns 
into a dragon and fries the Wizard with 
his dragon-breath. Wiztricity is a future 
release, a hi-res learning game teaching 
electricity. 

Homeword Speller lists for $49.95; 



Iv' 



A TYPING GAME FOH AGES 8 i UP 




SIERRA 




Homeword Filer, $69.95. The two are 
also available in packages with Home- 
word and Speller for $99.95, or all three 
for $149.95. 

B.C.'s Grog's Revenge is listed at 
$39.95, and the educational products on 
disk are $34.95 (or on cartridge $39.95). 
You can get them from Sierra On-Line, 
Inc., Coarsegold, CA 93614 - (209) 
683-6858. 



ZAP! 

Scott Cohens recent book. Zap!— The 
Rise and Fall of Atari, plots one of Ameri- 
ca's most famous companies from their 
humble beginning to recent troubled 
times. A book you'll probably want to 
read through in one night, it provides 
a fascinating history of Atari and Sili- 
con Valley. 




Sections cover the start of Silicon Val- 
ley in 1939 through 1972 (the founding 
of Atari) to 1976 (the Atari sellout to 
Warner), and all the way to late 1983. 
How Atari went from a five-hundred 
dollar company to a billion dollar busi- 
ness is fully profiled in this book. 

Also covered are the key people in- 
volved in the big decision making, those 
who were prominent in major products 
getting to market and the employees and 
executives who stirred up controversy 
and corruption. 

Of course. Atari's latest and, possibly, 
most interesting chapter has yet to be 
written, with the Tramiel takeover on 
July 2, 1984. 

Priced at $14.95 from McGraw-Hill 
Book Co., 1221 Avenue of the Ameri- 
cas, New York, NY 10020. 



GRAPHICS PACKAGE 
USES LIGHT PEN 

Peripheral Vision is a new, advanced 
graphics package designed to be used in 
conjunction with the Edumate Light 
Pen, both produced by Futurehouse. TTie 
former is a drawing program that features 
the ability to draw in up to eight colors 
and various textures, fill in, zoom, dump 
to a printer and accomplish many artful 
tasks. 



L J. L L-^ 




A row of "icons" at the bottom of the 
screen permits easy access to these func- 
tions, and a color bar at the screen top 
allows color selection at your whim. The 
manual describes how to access all of the 
program's capabilities, and a section for 
programmers is also included. 

Peripheral Vision lists for $39.95 and 
the Light Pen for $34.95, or both to- 
gether for $59.95— Futurehouse, Inc., 
RO. Box 3470, Chapel Hill, NC 27514 
- (919) 967-0861. 



PAGE 14 



ANALOG COMPUTING 



ISSUE 23 



NOW PLAY 
"SPY vs. SPY" 

First Star Software's recent affiliation 
with Warner Software brings us a new 
game based on Mad Magazine's Spy vs. 
Spy characters. The game pivots around 
the zany tricks, espionage and competi- 
tiveness inherent in the Mad strip, so it 
should be perfect in a computer format. 

Players take on the role of either spy 
and go from room to room attempting 
to "bomb" the other player {to the beat 
of crazy music). 




From First Star Software, 22 East 41st 
St., New York, NY 10017. 



STICKYBEAR SOFTWARE 

Weekly Reader presents its Stickybear 
line of learning games for children — and 
several designed for the whole family. 
The star of these programs is none other 
than Stickybear himself, a full color, ani- 
mated character developed just for com- 
puters. 

Stickybear Numbers features over 
250 picture combinations in a game that 
teaches numbers and counting. 

In Stickybear Opposites, children 
learn the differences between up and 
down, in front and behind or empty and 
full. Kids see Stickybear drift in a hot 
air balloon, peddle a unicycle and watch 
beans grow. 

Children learn their shapes in Sticky 
bear Shapes, which consists of three ani- 
mated activities. The players are asked 
to name a shape, pick a shape or find 
a shape. For a correct answer, the child 
is rewarded with cartoon animation and 
music. 

Stickybear ABC puts colorful animat- 
ed pictures on the screen accompanied 
by music to make learning the alphabet 
fun. 



"MICRO" INTERFACE 

A new, low cost printer interface is 
available from Microbits, replacing the 
necessity of the Atari 850-type module. 
MicroPrint works with all software and 
includes a four foot cable which plugs 
into the serial port. The Centronics plug 
works with a lot of popular printers, like 
the Epson, C.ITOH Prowriter and NEC. 

List price $79.95, from Microbits Peri- 
pheral Products, 225 Third Ave. SW., 
Albany, OR 97321 - (503) 967-9075 




Stickybear Bop for kids and adults is 
a shooting gallery made up of planets, 
ducks, Stickybears, juggling Stickybears 
and hot air balloons that drop sandbags 
on you. 

With Stickybear Basketbounce, you 
catch twirling, bouncing, falling bricks, 
donuts or stars— before you run out of 



baskets, get crowned on the head or are 
tripped by moving obstacles. 

All of these programs are aimed at the 
3- to 6 -year-old crowd, except for the lat- 
ter two family games, which are 5 to 99 
and 6 to 99, respectively. All come on 
floppy disk with a user's guide and fea- 
ture colorful packaging and various 
novelties, which may consist of posters, 
mobiles, "pop up" games, stickers oi 
small, hardcover books. 

If you want more information, contact 
Weekly Reader Family Software, 245 
Long Hill Rd., Middletown, CT 06457 
- (203) 347-7251. 



SHAPES AND SOUNDS 

A nicely-packaged book and disk com- 
bination for Atari 400, 800 and XL com- 
puters with a minimum of 32K and one 
disk drive. Written by Herb Moore, a 
musician, composer and writer, who also 
co-authored the book Atari Sound and 
Graphics. 

Shapes and Sounds for the Atari 
covers sound effects, changing colors, 
graphic effects and other graphics/sound 
combinations, and includes chapters on 
how to integrate those utilities into your 
own programs. 

Along with the two-disk set, programs 
are listed in the accompanying book. 




Shapes and Sounds, which is designed 
with both the beginner and intermedi- 
ate in mind, lists for $45.00. 

Get it from Wiley Professional Soft- 
ware, John Wiley & Sons, Inc., 605 
Third Avenue, New York, NY 10158 - 
(201) 469-4400. 



JUSTIN... 

Lifespan synthesizes art, music and ac- 
tion in a series of games representing 
various stages of human development. 
SETI (Search for Extra Terrestrial In- 
telligence) is a program where you must 
search for, locate and decipher an alien 
message from space— all under a time 
consideration. Twisted is a parody of the 
whole text adventure genre, where the 
snide responses abound. $39.95 each, 
48K disk from Trapeze, Inc., 3727 Bu- 
chanan St., San Francisco, CA 94123 — 
(415) 922-6606. 



ISSUE 23 



ANALOG COMPUTING 



PAGE 15 



A 

No-Frills 

Alternate 

Cursor 



16K Cassette or Disk 



by Tom Hudson 



Here at ANALOG, we aim to please. When I re- 
ceived a postcard from Patrick McShane (see this is- 
sue's Reader Comment section), I decided to tackle 
the challenge of writing an alternate cursor handler. 

As the title implies, this cursor handler is a kind 
of "bare bones" program, written in about one hour, 
while Kyle Peacock and I were collaborating on a new 
game. 

What it will do. 

The short BASIC program in Listing 1 will install 
an alternate cursor in your computer. The normal 
"block" cursor will be replaced by a blinking under- 
score character. Type in the program, verify your typ- 
ing with C:CHECK or D:CHECK2 and SAVE the 
program to tape or disk before running it. This is nec- 
essary because the program erases itself from memory, 
and, if you don't save it, you'll have to retype it. 

After you're sure the program's entered correctly, 
RUN it. After a couple of seconds, you'll see the 
message: 

Press SYSTEM RESET, and you should see the new, 
improved cursor. Type LIST and press RETURN. 
You'll see that the BASIC program has erased itself 
from memory, and the cursor acts just like the nor- 
mal one. 



The alternate cursor will keep operating, even af- 
ter SYSTEM RESET is pressed, so you don't have to 
worry about blowing it away if you panic and hit RE- 
SET by mistake. 

You can set the "on" and "off" colors of the cursor 
to suit your needs. The cursor currently is white when 
on and black when off. To set the desired "on" color, 
change the 15 in Line 1030 to the desired value. 
Changing the in Line 1040 to another value will 
determine the "off" color. 

What it won't do. 

Since the cursor routine is designed to fit in page 
1 of computer memory (which is also the 6502 pro- 
cessor's stack), this program is only capable of oper- 
ating in graphics mode 0. Don't try using it in other 
modes unless you feel like modifying the assembly 
code. (I said it was a no-frills program). 

Do not run the BASIC program again after install- 
ing the cursor! Don't even think of it. If you do, the 
system will crash as soon as you press SYSTEM RE- 
SET. If you want to change the default cursor colors 
after installing the cursor, turn the system OFF and 
ON again before doing so. 

If you want to change the cursor color while a pro- 
gram is running, that's fine. Just POKE 354 with the 
"on" color, POKE 358 with the "off" color, and every- 
thing will be dandy. 



PAGE 16 



ANALOG COMPUTING 



ISSUE 23 



Don't use page 6 for anything. This entire block 
of memory is needed for the cursor's graphics area. 
Anything you place in this memory will be instantly 
erased. 

How it works. 

The No-Frills Alternate Cursor first turns off the 
system cursor with the CRSINH (cursor inhibit) flag. 
It then defines player/missile memory starting at ad- 
dress 0000. In this configuration, player 2 is in the 
memory range $0600-$06FF, or page 6. 

A short deferred vertical blank routine sets player 
2 to a simple underline character, reads the cursor 
position registers and places the cursor at the proper 
screen location. 

That's it! I hope you'll find this alternate cursor an 
interesting change from the ole' Atari cursor. D 

BASIC listing. 



1 HEM MMJtmHtMKMlCKKMKiClOlMMMKICMMMKMKMIC 

2 MEM * * 
S MEM * H0-FMILL5 OLTEHNATE CUN50H * 

4 MEM * BY rOM HUDSON * 

5 MEM « fliNALOl^ COMPUTINb * 

6 MEM * * 
? HEM MMMKMJCMKlOmKMKlCKMKMmtKICKlCMMMWK 

10 FOM X=25e 10 J164:MEAI> N:POKE X,N:NE 
Kl K-.POKE 2^4, PEEK tl2} SPOKE 295, PEEK CI 
3}:P0KE 12.0; P0KE 13.1 

20 ? "HPME55 i;i«aan ro install cumsom": 

NCH 

leee DAfA 16d, i, 133, i3,i69,e, 133,12,16 

9, 0,141, •',212,169, 1,141, 111, 2, 162, 1,16 

8,40,169,7,32 

1010 DATA 92,228,169,58,141,47,2,169,2 

,141,29,208,76,0,0,216,169,1,141,240,2 

,169,58,141,47 

1020 DATA 2,169,0,170,157,0,6,202,208, 

250,165,85,10,10,24,105,48,141,2,208,1 

65,84,10,18,10 

1030 DATA 24,105,39,168,169,240,153,0, 

6,238,109,1,173,109,1,74,74,74,41,1,20 

8,4,169,15,208 

1040 DATA 2,169,0,141,194,2,76,98,228 



CHECKSUM DATA. 

(see page 25) 



1 DATA 507,939,3,936,237,947,519,241,3 
58,0,313,210,311,220,5741 



Assembly language listing. 



1 ftLTERNBTE 


CURSOR HANDLER 


IBY TOM 


HUDSON 


lANALOQ 


COMPUTINB 


□09INZ 




*eic 


PMBASE 




*D407 


HPOSPZ 




*D00Z 


COLPM2 




•e2C2 


CRSINH 




• eZFB 


ROWCRS 




»34 


C0LCR8 




»3S 


8ETVBV 




•E4ac 


XITVBV 




• E442 


aDMCTL 




»e2ZF 


QPRIQR 




• a2&F 


BRftCTL 




• D01D 


1 INITIALIZATION CODE 





♦ * 


*eiee 




INIT 


LBA 


• >IN1T 


(alter DOS Init 




STA 


DOSINI+l 


Ita point to 




LOfi 


» < INIT 


lour routine! 




STA 


DOSINI 






LDA 


*e 


last Up P/M 




9TA 


PMBASE 






LDA 


»! 


icur»or priority 




3TA 


3PRI0R 






LDX 


* >VBLANK i point VBLANK 
» <VBLANK Ito handler 




LDY 




LDA 


• 7 






JSR 


BETVBV 






LDA 


• •3A 


Iturn on player* 




STA 


SDMCTL 






LDA 


»»B2 






STA 


BRACTL 




ALLDUN 


JMP 


*I9I!> 


i jump to ini t ! 


VBLANK 


CLD 




ino decimal made 




LDA 


«1 


sturn off cureor 




STA 


CRSINH 






LDA 


««3A 


Iturn on players 




STA 


SDMCTL 






LDA 


•e 


lerase player 2 




TAX 






CP2 


STA 
DEX 


»B6B0, X 






BNE 


CP2 






LDA 


COLCRS 


laet curaor column 




A3L 


A 


l»2 




A3L 


A 


l«4 




CLC 




land add 48 




ADC 


• 48 






BTA 


HPDSP2 


1 set hortz. pos! 




LDA 


ROWCRS 


Inet curaor row 
I«2 




ASL 


A 




ASL 


A 


1*4 




ASL 


A 


i«a 




CLC 




land add 




ADC 


HJ-J 


ly-axla factor 




TAY 








LDA 


»»F0 


Iput graphic 




STA 


•aiBB.Y 


ion screen! 




INC 


COUNT 


1 Inc blink count 




LDA 


COUNT 


Iget count 
Idiv by 8 




LSR 


A 




LSR 


A 






LSR 


A 






AND 


»> 


Iblinking? 




BNE 


BLACK 


lyeal 




LDA 


tt»0F 


Iget white color 




BNE 


VBDQNE 


I go store It! 


BLACK 


LDA 


»e 


Iget black color 


VBDDNE 


STA 


C0LPM2 


1 save col or 




JMP 


XITVBV 


1 vol la ! 


CO^NT 


.END 


1 bl I nk counter 



Get SERIOUS 
with your ATARI ! 



Start 



using 



DECISIONS , . . DECISIONS'" 

A TOOL FOR MAKING LOGICAL CHOICES. 

"EASILY SORT OUT CONFUSING INFORMATION. 
"REMOVE UNCERTAINTY FROM DIFFICULT CHOICES. 
"CLARIFY AND QUANTIFY YOUR IDEAS. 
"SHOW OFF YOUR COMPUTER'S PRACTICAL SIDE! 



DECISIONS. ..DECISIONS provides assistance on making a logical 
choice among several alternatives. Intended for individuals, families, and 
businesspeopie, it helps users make "tough" decisions quickly and accurately, 
with increased confidence in the resulting choice. 

The program is flexible enough to analyze any multiple choice decision. 
Features such as fully prompted inputs, help screens, rapid re-analysis, and 
thorough reference manual make it easy to use. The graphic output screens 
are easily interpreted and a hard copy record is provided to users with an 80- 
column printer. 

Decisions. ..Decisions uses a method of logical analysis, based on scientific 
principles, that makes it considerably more useful than other 
"Decision-making" programs that merely provide a graph of vt/eighted scores. 

DECISIONS... DECISIONS for 48k atari 

$37.50 including shipping, add S2.25 tax in Calif. 
ORDER NOW -you'll be glad you did. Send check to: 



mX LATERAL 

V\\\V SOFTWARE 



Dept. 2 
RO. Box 605 
Stanton, CA 
90680 



CIRCLE #110 ON READER SERVICE CARD 



ISSUE 23 



ANALOG COMPUTING 



PAGE 17 



CASADAPTER 

SAR-AN 

12 Scamridge Curve 

Willlamsville, NY 14221 

(716) 632-3441 

$34.95 



by Ruth Ann Stone 



Like most Atari owners, when I originally purchased 
my computer I also bought the 410 Program Record- 
er for approximately $75.00. It wasn't long before it 
struck me that this was basically an ordinary cassette 
recorder, minus the built-in mike and earphone jacks, 
with the addition of a cable to connect it to the com- 
puter. This was great, because the recorder functions 
were controlled totally by the computer; I didn't have 
to worry about them. However, this recorder could 
not be used for other things, such as playing music, 
taping lectures at college, etc. Since I'm the type of 
person who likes one piece of equipment to perform 
as many functions as possible, I made a few enquiries 
of local Atari dealers— and came up with nothing. 
The 410 recorder was the only way to go (unless I 
wanted to invest in a disk drive), until the new 1010 
recorder became available. The 1010, however, has the 
same limitations — it is strictly a computer program 
recorder, solely for use on Atari computers. 

This didn't stop me, though, because I was sure that 
someone must have found a way to get around the 
problem. Then I saw the ad for the Casadapter. Sar- 
An's advertisement stated that this cassette interface 
would allow me to use any cassette recorder, or even 
my stereo, with all of the Atari computers. It would 
handle motor control, audio and data channels. All 
this for a mere $34.95! So, a friend and I sent out 
an order for two of them, post haste. 

Beware the first version. 

About a month later, the Casadapters arrived. The 
packaging was impressive, and the adapter certainly 
looked official . . . but the only cable attached to it 
plugged into the computer. Lo and behold, I had to 
run out to my friendly neighborhood Radio Shack and 
purchase cables and adapters, in order to hook the 
Casadapter to either my friend's cassette or my stereo. 
This ran to just under $15.00 more. 

Back home, after going through the directions for 
my fourth or fifth time, I discovered the greatest draw- 
back to this hardware. The owner's manual was sadly 
and unbelievably inadequate for anyone who hasn't had 
extensive experience with stereo input/output jacks. 
The manual consisted of three SVz X 11" pages, typed 
single-sided, double-spaced. The only real directions 
as to which stereo jacks hooked to which Casadap- 
ter jacks were on the first page. . .and consisted of 
a total of twelve lines. 

After devoting an entire afternoon to this project, 



I did figure out how to hook the adapter to my stereo 
— and to my friend's portable cassette recorder— but 
I couldn't divine how to attach either one to the mo- 
tor control jack. By this time, I was thoroughly frus- 
trated with the adapters, so I packaged them up with 
a letter explaining my complaints and returned them 
to Sar-An the following Monday morning. 

Less than a week later, I received a telephone call 
from Sar-An. It seems that they were unprepared for 
the mass response they had received to the original 
advertisements. Therefore, the Casadapters my friend 
and I had received were not really ready for produc- 
tion; the newer versions do come complete with ca- 
bles and the proper size jacks, so that they can be 
hooked directly to any recorder. Sar-An explained that 
the motor control should be hooked to a jack which 
is often labeled "remote" on recorders. Why didn't 
they say so in the owner's manual, I wanted to know. 
The reply was that they hadn't had the chance to per- 
fect the manual yet, either. Therefore, I agreed that, 
if they would send us the latest version, we would 
try again. 




The newer version of Casadapter does work very 
well. It hooks directly to any cassette recorder which 
can be placed within three feet or so of the computer. 
Unfortunately, my portable cassette recorder did not 
come equipped with a remote control jack, so I had 
to go out and get one that did. In so doing, I wasn't 
able to locate a portable recorder which could handle 
the audio function (for which Sar-An does not pro- 
vide a cable) as well as motor control. This means 
that I cannot use any of the instructional tapes. They 
use the audio channel for the instructor's voice, which 
is meant to run along with the program (for example. 
Invitation to Programming 1 through 3 , or Conver- 
sational Languages). It should also be noted that the 
fast forward and review functions cannot be used un- 
less the remote jack is first unplugged, which can be 
a bit annoying after several hours of a programming/ 
saving/loading process. 

(continued on page 20) 



PAGE 18 



ANALOG COMPUTING 



ISSUE 23 



Ask 

Mr. 

Forth 




by Donald Forbes 



We would like to welcome Donald Forbes to the pages 
of ANALOG Computing. His new column, Ask Mr. 
Forth, will be a regular feature in our magazine. — Ed. 

The best way to learn Forth, I've discovered, is to 
teach it. You don't know Forth? I assume, if you are 
reading this, that you own a Forth disk and a copy 
of Leo Brodie's tutorial book Starting Forth. That 
makes you special. There are more than 234,000,000 
people in the United States and 60,000 copies of Start- 
ing Forth in print, so that 233,940,000 Americans 
don't own a copy. You can certainly tell them some- 
thing. 

"He who teaches learns twice" goes the old saying. 
"Expanding the radius of my knowledge," Einstein 
remarked, "extends the periphery of my ignorance." 
The French mathematician, Blaise Pascal, before him 
observed that, as the radius of his knowledge grew, 
the sphere of his ignorance increased. So. . .teach- 
ing, faster than anything else, will make you aware 
of all the gaps in your knowledge. 

The demo. 

lb teach Forth you need, first of all, a demo. Like 
the job-hunter who needs a resume, a portfolio (sam- 
ples of previous work) and interview savvy, the Forth 
teacher needs a good demonstration disk that will 
show oif the features of Forth to good advantage. 



Once you have a good demo, you will want to show 
it off. Atari is still tops in good computer graphics, 
as a visit to any of the national computer shows will 
prove. Game designer Chris Crawford, in his trade- 
mark coUarless blue shirt, told 200 members of our 
user group this Memorial Day weekend that "you must 
remember, the Atari 800 is still the top machine in 
its class," and they responded to his talk with a stand- 
ing ovation. 

You can show the demo to your friends. Your local 
user group may provide an attentive audience among 
those who have heard of Forth but were never shown 
how it worked. A good demo is like money in the 
bank — it is good to know that it is there, and you will 
certainly be glad to have it at hand when the occa- 
sion arises. 

The demo can be a collection of anything that will 
best display Forth's many advantages. Moire patterns, 
Fibonnacci series, prime number benchmarks, Brodie's 
letter F and Forth translations of common BASIC pro- 
grams are all worthy candidates. 

First, we need some good display screens. But which 
Forth? Forth is designed to be the universal operat- 
ing system and language, created by programmers for 
programmers and transportable across all the micros. 

There are at least six commercial implementations 
available for the Atari, of which James Albanese's 1980 



ISSUE 23 



ANALOG COMPUTING 



PAGE 19 



QS Forth from Quality Software was the first. The 
most complete is valFORTH, which has established 
itself as the de facto standard for the Atari community. 
My favorite for tutorials to a wide audience is Team 
Atari Forth, the public domain, free Forth developed 
in the San Francisco Bay area by Steve Calfee, Harald 
Striepe, Peter Lipson, Robin Ziegler and others. 

Our demo should work with all of them. This 
presents no difficulty, if we put the text on screen let- 
ter by letter. In BASIC, we could display an A with: 

i« OPEM ttl,8,e,"E:" 

2e GRAPHICS 2 

S9 PUT ttl,6S:REH AT ASCII A 

In our Forth versions, we will need the ATASCII equi- 
valent of each alphabetic character. This code will 
put the numbers on the screen: 

: BLANK 32 EMIT ; 
: ATASCII 91 65 DO I EMIT 
BLANK I . BLANK LOOP ; 

QS Forth (after I LOAD LOAD-ED LOAD-IO) 
will put an A on the screen with 2 OR. 65 6 PUT. 
Rather than type 6 PUT after each letter, we can de- 
fine a single non-Forth character (%) to do it for us 
(after EDITOR 1 CLEAR I LIST I L) with : % 6 
PUT ; . 

Calfee's Forth requires HEX 30 LOAD DECIMAL 
to load the utilities and (if 34 is an empty screen) 34 
WIPE 34 LIST 34 UE for our edited text. The screen 
must be opened for output with 83 PAD C (where 
83 is an ATASCII S) and PAD 80 3 OPEN. With 
2 OR. 65 PUT, we can now place an A at the top 
of the screen. We can use : % PL7T ; to avoid re- 
peated PUT's. 

The valFORTH 1.1 disk should be loaded with the 
printer, assembler, color, graphics, editor and operat- 
ing system words, requiring 38LOAD 76 LOAD 100 
LOAD 104LOAD 140LOAD 162LOAD. Our val- 
FORTH also requires an initialization with ATASCII 
S PAD Q and PAD 80 3 OPEN. Then 2 OR, 65 3 
PUT DROP will place an A at the top of the screen. 
We can abbreviate this with : % 3 PUT DROP ; . 

What do we use for the demo text? Remember that 
we have twenty columns and ten lines in the 2 OR. 
mode (or twenty lines if you prefer J OR.) A pad of 
square ruled graph paper may come in handy. Here 
is one choice out of many: 

: DEMOTEXT 7 POS. 

71 y. 76 r. 79 y. 66 y. 65 y. 76 y. 



3 2 POS 
77 y. 79 

63 y. 65 y. 82 

8 4 POS 

9 6 POS 
3 8 POS 
76 y. 68 y. 32 
66 y. 69 y. 83 



84 X 72 X 69 X 82 X 

78 y. 86 y. 67 y. 76 y. 



y. 

87 y. 65 
66 y. 89 

68 y. 
y. 
y. 



X 82 X 

y. 

73 y. 79 y. 65 y. 

70 y. 73 y. 92 y. 



If this seems tedious, remember that it gets the job 
done, that it will work with the Forth that you have. 



and it's easy to modify. Furthermore, we now know 
how to translate a BASIC PUT statement into a Forth 
PUT statement. 

What we have accomplished to date represents a 
significant first step: we can now place any text on 
the screen in graphics mode one or two. 

To add some excitement, let us begin by cycling all 
the colors through the border and background color 
registers. This code will work: 

: DELAY 2800 DO LOOP ; 
: COLORS 255 DO I 712 C! 
I 718 C! DELAY LOOP ; 

Now we can put it all together: 



scr 
8 

1 

2 

3 

4 

5 

6 

7 

8 

9 

10 

11 

12 

13 

14 

15 



Scr 



1 

2 

3 

4 

5 

6 

7 

8 

9 

10 

11 

12 

13 

14 

IS 



U 1 

t deHO 1 sf 840531 ) 

DECI»ML 
t OS Forth code } 
: INITIALIZE ; 
: y. 6 PUT ; 

C TeaM Atari Forth code 1 
: INITIALIZE 83 PAD C! 

PAD 8 3 OPEN ; 
■ V plJT " 

t valFORTH code i 

t INITIALIZE ASCII S PAD C! ; 

PAD 8 3 OPEN ; 
: y. 3 PUT DROP ; 

: DELAY 2080 DO LOOP ; 



2 

deMO 2 

DENOTEKT 7 8 POS. 

71 y. 76 y. 79 y. 66 



Sf 840531 } 



3 2 POS 
77 y. 79 
69 y. 65 y. 82 

8 4 POS. 

9 6 POS. 
3 8 POS. 



84 y. 72 
78 y. 86 

y. 



65 X 76 X 
69 X 82 X 
67 X 76 X 



68 X 
76 X 68 X 32 X 70 X 



87 X 65 X 82 
66 X 89 X 

79 X 78 



66 X 69 X 83 X 
COLORS 255 DO' I 712 C! 
I 710 C! DELAY LOOP ; 
DEHO INITIALIZE 2 GR. 
DEMOTEXT COLORS 8 GR. : 



X 65 X 
79 X 82 X 



In BASIC, we could have created our text screen 
with: 



10 GRAPHICS 
20 ? 116;" 
38 ? 116;" 
40 ? tl6;" 
58 ? 116;" 
68 ? It6;" 
80 GOTO 88 



GLOBAL" 
THERIWNUCLEAR" 
HAR" 
BY" 
DONALD FORBES" 



The translation into Forth would have been easy with 
either valFORTH or QS Forth, because they both 
have a special word (G" and GR." , respectively) that 
is missing in Team Atari Forth. This way is less in- 
structive, but much easier and faster: 

: DEMOTHO 2 GR . 

7 POS. G" GLOBAL" 

3 2 POS. G" THERMONUCLEAR" 

8 4 POS. G" HAR" 

9 6 POS. G" BY" 

3 8 POS. G" DONALD FORBES" ; 



PAGE 20 



ANALOG COMPUTING 



ISSUE 23 



However, it is useful to be aware of both methods. 
If we write: 

: FOREVER BEGIN DENO 8 UNTIL ; 

the demo will run forever. Our demo is now off to 
a good start. But what do we put in it? Sound, per- 
haps? You undoubtedly have some ideas of your own. 
Certainly it should be something to show off the many 
unique benefits of Forth. Well, that belongs with next 
month's story. 

As the Marquise du Deffand wrote on July 7, 1763 
to the famous illegitimate mathematician, Jean le 
Rond d'Alembert: "The distance doesn't matter; it is 
only the first step that is difficult." D 



Send letters to: 


r^ 


Ask Ml Forth 




P.O. Box 23 




Worcester, MA 01603 


* 



Casadapter Review 

(continued from page 17) 

To date, I have been unsuccessful in satvsfactorily 
interfacing Casadapter with my stereo, which could 
probably handle all the advertised functions, includ- 
ing the audio channel (but would still require that 
I pull out the remote jack, in order to use the fast 
forward or rewind). 

The verdict. 

Overall, the latest version of the Casadapter has 
a great deal of potential. It does allow the use of a 
regular cassette recorder for saving and/or loading pro- 
grams, thus eliminating the need for a single-use piece 
of equipment. However, in my opinion, the manual 
falls far short of the needs of a novice, or even an 
individual with a limited amount of experience in 
hooking up electronic equipment. 1 would suggest that 
Sar-An describe other common labels for the input/ 
output jacks, in the event that a user's stereo or cas- 
sette is labeled differently (for instance, as mentioned 
earlier, the motor jack is often labeled "remote"). I 
would give the Casadapter a grade of nine (on a scale 
of one to ten), if the manual were vastly improved, 
and if Sar-An were to include a cable for use on the 
audio jack. D 



Attention Programmers! 

ANALOG Computing is interested in programs, articles, and software review sub- 
missions dealing with the Atari home computers. If you feel that you can write as 
well as you can program, then submit those articles and reviews that have been 
floating around in your head, awaiting publication. This is your opportunity to share 
your knowledge with the growing family of Atari computer owners. 

ANALOG pays between $30.00-$360.00 for all articles. All submissions for publi- 
cation must be typed, upper and lower case with double spacing. Program listings 
should be provided in printed form, and on cassette or disk. By submitting articles 
to ANALOG Computing, authors acknowledge that such materials, upon accep- 
tance for publication, become the exclusive property of ANALOG. If not accepted 
for publication, the articles and/or programs will remain the property of the author. 
If submissions are to be returned, please supply a self-addressed, stamped enve- 
lope. All submissions of any kind must be accompanied by the author's full address 
and telephone number 

Send programs to: 
Editor, ANALOG Computing, P.O. Box 23, Worcester, MA 01603. 



flLOG COMPUTING PRESENTS 

HIGH QUALITY PROGRAMS AT AFFORDABLE PRICES FOR 
ALL ATARI COMPUTERS WITH 48K AND 1 DISK DRIVE. 



SUMMER SPECIAL — BUY TWO & GET ONE 

* WHEN ORDERING DIRECT FROM ALOG 



I* 



• •••NEW!**** 
THE ALOG CARDFILE 

TURNS YOUR ATARI INTO AN ELECTRONIC CARD 
FILE. SEARCH & SORT ON ANY LINE. FORMATTED 
PRINT AND NUMERIC FIELDS MAKETHE CARDFILE 
IDEAL FOR YOUR EXPENSE RECORDS, INVEN- 
TORIES, AND RECEIPES. 



atOS COiMPUTIHG 



WHi »**■»»* Jt-W K K it M j»- M K X K W K X i ( 



iPROG 
PROG 

DfllE 
PRIC 

SO MP 

REau 

OPT I 
COMM; 



RAM 

E 

UTER5 

TRED 

ENrs 



;0R3) U 4 



THE A>- OG. f^flSSFI! E ' 


DftNIE! F. HIGGINS 


HDMEMBER 1583 


ATARI 898. _800XL i?80 

4BK It, ! !iT<\M 

25«S> ..DISK - PRTHTFR 


TURNS_aTilRI._COMPilTtSS 

TNTfi au FasY-Tn-nnF 


! 


F! FCTSOllIK-..,C.anr>FT! F 



4 CARD? 



TOTAL 



<E>DIT, 



<CTRL> <5>0aT, 



CO^s»^AND HuOE 
<L>A8LE, <5>EASCH, <P>RIHT 



<T>OTAL, 



rHEH, 



;u>un 



THE ALOG PAGEWRITER 

TURNS YOUR ATARI AND 80 COLUMN PRINTER 
INTO AN EASY-TO-USE ELECTRONIC TYPEWRITER. 
THE ENTIRE PAGE LAYOUT IS DISPLAYED 
GRAPHICALLY WHILE YOU TYPE. IDEAL FOR 
SIMPLE WORD PROCESSING TASKS. 



THE ALOG DISPLAYMAKER 

MIXES COLOR GRAPHICS AND THREE TEXT SIZES 
ON THE SAME SCREEN. BUILT IN CHARACTER 
EDITOR AND SHAPE DRAWING ROUTINES. 
GRAPHICS DUMP TO MANY PRINTERS. GREAT FOR 
MAKING GRAPHS, CHARTS, AND HAVING FUN. 




DISPLAYMAKER 



<D>raw <E>llipse <F>ill 
COolors <R>ectangle <T>ext <ESC> 
<o> ,I«53, <z> , <3> -- Choose color tt 
<p;rint, <G>et, or <5>ave screen 



MARGIN- 


i — 


LINE 




i PAGE LAYOUT 


INDICATOR 




TEXT WINDOW 





THE ALOG MAILLIST 

IS AN EASY-TO-USE, MENU-DRIVEN DATA BASE 
PROGRAM DESIGNED FOR MAILING LISTS AND 
PRINTING LABELS. FAST 3 KEY SORT AND MULTI- 
LEVEL SEARCH ON ANY LINES. PRINT FORM 
LABELS 1 TO 2 INCHES HIGH. 

THE ALOG MAILLIST 
(C) Copyright 1983 by ALOG COMPUTING 



MAIN 



MENU 



<U>TILITIES 

<L>OAD FILE 
<S>AVE FILE 
<A>PPEND FILE 
<F>ILENAMES 

<C>REATE NEW RECORDS 
<E>DIT/VIEW RECORDS 
<D>ELETE MEMORY 
<P>RINT RECORDS 

<X>IT PROGRAM 

HIT <KEY> FOR OPTION: 



All programs are only $39.95 each including tax. To order direct send check or money orderto Alog 
Computing, 1040 Veronica Springs Road, Santa Barbara, CA 93105. We pay shipping. For infor- 
mation, credit card orders or C.O.D., call our distributor: COMSTAR (805) 964-4660. 

Dealer and distributor inquiries invited. 



(ATARI is a trademark of Atari. Inc.) 



CIRCLE #111 ON READER SERVICE CARD 



FOR BUSINESS JK <;:^COMPUTER 

OR PLEASURE . . . 'Sm LA 



Version 1.4 
From 
Royal 
Software 

ASK Disk 




PAIACE 



WE KNOW 
ATARI! 



MUCH MORE THAN A MAILING LIST! 



Super Mailer Plus is a versatile mini-data base that is ideal for business or home. Its 
many user-friendly features include: Multiple Searches on Any Field, Special Code 
Field , Single or Double Density (specify) , Store Up to 1 100 Records Per Disk (DD). Sup- 
ports Up to 4 Drives, Create Sub-Files, Auto or Manual Delete of Duplicates, Print La- 
bels 1,2, or 3 Across, Print File Copy in Any Format, Sorts on Any Field, Built-in State 
Abbreviation Table, Built-in Printer Driver For Easy Set Up, More 



?our Friends- 
OutuJit The 

Dragof^--' 

. The Quest-' 
Join Tne 



TRiVS 



From Royal Software 

$39.95 

(Program covers 
4 Disk Sides) 



Disk 

Management 
Data Base 




$24.95 



From Royal Software, 32K Disk 

Organize and categorize your disk files 
with this easy to use database. It fea- 
tures super-fast Searches and Sorts, 
and will print File Copies and Disk 
Labels, The program supports 2 Drives, 
The more you use your computer . , . 
the more you will enjoy the DISKEEPER 




• Over 2000 
Trivia Questions 

• For 1 to 4 Players 

• Difficulty Handicap Options 

• Challenging Action 

• Survival of Itie Smartest! 

Here is the perfect program for the whole family .It combines the intellectual chal- 
lenge of the popular trivia games with exciting, playable action sequences to provide 
many hours of enjoyment. Additional Trivia Data Disks will be available as well as a 
Utility Program to create your own trivia questions. 

• Utility Program with 1000 Additional Questions $24.95 



FREE 
CATALOG 

wrth any order or send St 
(refundable wrih tirsi purchase) 

This is the most 

comprehensive 

Atari reference 

catalog available! 

It contains over 

3000 software & hardware 

listings with illustrations 

and descriptions! 

IF YOU DON'T HAVE OUR 
CATALOG... YOU'RE 
MISSING OUT! 




Atari Joystick Repair Parts 

PC Board $2.49 

Cord 2.95 

Inner Handle 1.49 



You may buy any one of these $9.95 specials for only 990 with a purchase of 
$50 or more from our over 3000-ltem Inventory, or buy any three at $9. 95 each 

and get the fourth for only 990. Ofer Valid 9/1/84 to 10/31/84 (Limited Quantities, 

give 2nd ctioices. Specify computer model 

$9.95 SPECIALS 

Protector HIT) 

ClaimJumper(D) 

Shamus(D) 

ThraxLair(T| 

Pharaoti's Pyramid (D| 

FroggerjD) 

Frogger(T) 

Repton(D) 

Wayout(D) 

MISCELLANEOUS SPECIALS „, , , ,„ 

Deluxe Invaders (C) 17.95 

32K Axlon RAI^ $44.90 poj,, 400 (C) 14.95 

Wizard of Wor (C) 17 95 Progger (C) 14.95 




Chicken (D) 
Chicken (T| 
Chicken (C) 
Match Racer (D) 
thatch Racer (T| 
li^oonbaselO(T) 
Boulders 8, Bombs (CI 
[fountain king (C) 
kid Grid (T) 



when ordering.) 

Preppie(T) 
Pathfinder (D) 
li^eteor Storm (D) 
Cyborg (D) 
WizardofWor(D) 
Deluxe Invaders (D) 
Vocabulary Qldr1(T) 
Vocabulary Bldr 2(D) 
Sammy theSeaserp't(T) 




TJte 

Ultimate 

Screen 

Dump 

Program 

This powerful and easy-to-use utility will 
allow you to dump almost any Atari text 
or graphics screen to your printer (even 
while the program is running!) 

48K Disk 

For All Computers 



$26.95 



600XL MEMORY 
EXPANSION MODULES 

• I6K (32K Total) $79.95 

• 32K (48K Total, same as 800XL) 99,95 

• 64K (Supports 'The Translator') 119,95 

From RC Systems 





EXODUS: 

ULTIMA 



^^^§^P 48K Disk $39.95 



A Super Value for the newest in the Ultima 
Series, 



RCP 

DRIVE 

STACKER 

Only 
$19.95 

This attractive smoked-acrylic stand allows 
you to stack 2 Indus GT Drives for conven- 
ient operation (also fits the RANA 1000, At- 
ari 1050 and Concorde drives), or use as 
stand for modem, telephone, disk file, etc. 





Protect Your 
Equipment! 

DUST 
COVERS 

Available For; ATARI 400. 800. 600XL, 
800XL, 1200XL, 410, 810. 1050. 1025, 
1027, EPSON FX-80, RX-80. MX-80, 
GENfllNI 10X, PROWRITER 8510, 
PERCOM. RANA 1000, INDUS GT. 

Additional Covers 
Ordered at Same Time 



Only $8.95 

EACH 



ONLY 



$7.95 6ach 



DRIVES— DRIVES— DRIVES 

TRAKAT-D2(DD.Ptr .Port) S398 

TRAKAT-D4(DD/DS.Plr Port) 529 

TRAK352(DD/DSI 329 

TRAKCHAMP(DD) 339 

TRAKAT-S1 (DDSIave) 289 

ATARM 050 (11/2 0) Call 

RANA 1000 (DO) 349 

PERC0IVIB8-S1PD(DD.Ptr.Port) 369 

RCP810Drive(SSSD) 285 



PLUS FRT. 



^^ Buv anv drive ant 



Buy any drive and receive a 

$50 Gilt Certificate 

(Redeemable after Dec. 25. 1984) 





1 INDUS GT 
$398 + fRT 



This is our best selling drive. It offers 
double density, is quiet and reliable, and 
comes with Free Software (Word Proc, 
Spreadsheet, Database). Includes DOS-XL. 
One-Year Warranty. 



E 



COMPUTER 
PALACE 



OPEN M-F, 9-6 Sat. 10-4 (Pacific Time) 

2160 W. Iltti Avenue Eugene, Oregon 97402 




USE YOUR CREDIT CARD & CALL 

Toll Free 1-800-452-8013 

• ORDERS ONLY, PLEASE * 

^\ There 's ne ver a penalty for using your credit card! 
For Information, Call (503) 683-5361 



SHIPPING INFO: Minimum S2.90 Ground, S4,75 Air. Actual 
Cost depends on weight. Call (503) 683-5361 tor information. 
WARRANTY INFO: Everything ttiat we sell is warrantied by 
the manufacturer If any item purchased from us fails to per- 
form properly when you receive it, call us at (503) 683-5361 
so that we can assist you. No returned merchandise accepted 
without authorization. Defective software will be replaced 
with another copy of the same program, otherwise, no soft- 
ware is returnable. 



CIRCLE #112 ON READER SERVICE CARD 



Atari 800XL Call 

1010 Program Recorder 77.00 

1027 Letter Quality Printer Call 

1050 Disk Drive Call 

Atari 850 Interface Call 

Atari Light Pen 82.95 

Numerical Keypad 104.95 

PRINTERS 

Alphacom 40C 

w/lnterface . . . 99.95 
Alphacom 80C 

w/lnterface. .189.95 
Axiom AT-550. 329.00 



A ATARI 



Epson Call 

Gemini 10X. .269.00 

Okidata Call 

Prowriter I Call 

Riteman Call 



KOALA 

Koala Pad-D 69.95 



Koala Pad-Cart 74.95 



DISK DRIVES 




Indus GT 


. . Call 


Percom 


. . .Call 


Rana 1000 


. . Call 


Trak Call 


MONITORS 




AMDEK Color 1+ . 


...Call 


USI 12" Amber . . . 


149.00 


USI 12" Green.... 


. 139.00 


USI 14" Color 


269.00 


BMC 12" Color... 


. 229.00 


BMC 12" Amber.. 


. . 99.00 


BMC 12" Green. . . 


. . 95.00 


Phillips 12" Green 




w/Sound 


.129.00 


Phillips 12" Amber 




w/Sound 


.139.00 



ATARI isatrademark of ATARI, INC. 
MODEMS 
Hayes Smart 

Modem 300 Call 

Mark II 79.00 

Mark VII/AutoAns/ 

Auto Dial Call 

Mark XII/1200 Baud. Call 

MPP1000C Call 

Novation Call 

R-Verter Modem 

Adaptor 39.95 

INTERFACES 

Aid Interfast I Call 

Ape Face Call 

R-Verter Modem 
Adaptor 39.95 



MOSAIC 

48K RAM 94.00 

64K RAM/400.. .149.00 
64K RAM/800 + 
Cable Kit #1... 169.00 

Handynnan-D 23.95 

Cable Kit #2 14.95 

Superdrive-D 23.95 

Triangle Replacement 
Keyboard for 400 . 54.95 

Allen Voice Box 11.99.95 

Expansion Memory 
foreOOXL Call 

Back Chair . . . 79.95 

(Ergonomic Computer Chair) 



(^izCall for prices on joysticks, printer cables, blank floppy disks, and other computer accessories. 'k) 



I 



W 



R 



ENTERTAINMENT 

Caverns of Mars -Cart , . - 

[)onl<ey Kong-Carl 

Donkey Kong Jr. -Cart . . 
Eastern Front -Cart 


.,.32.95 
,,,37,95 
, , , 39,95 
,,,32,95 
,, , 39,95 


Jungle Hunt-Cart 

Mario Bros. -Cart 


,,,35,95 
, , , 35,95 



ENTERTAINMENT (contd) 

Ms, Pac-Man-Cart 39,95 

Pengo-Cart 35,95 

Pole Position -Cart 39,95 

Qix-Cart 32,95 

Reaisports Footbali-Cart 35,95 

Robotron: 2084-Cart 35,95 

Star Raiders-Cart 32,95 

Tennis-Carl 35,95 



HOME MANAGEMENT 

Alariwriter-Cart 74,95 

Family Finances - D 37,95 

Home Filing Manager-D 37,95 

Mailing List-T 19,95 

Syncalc-D 74,95 

Synfile-D 74,95 

Syntrend-D 74,95 



LEARNING 

Logo-Cart 79,95 

My First Alphabet -D 26,95 

PERSONAL DEVELOPMENT 

Atarlmusic I or II- D 29,95 

Conversational French-T 44,95 

Conversational German -T 44,95 

Conversational Italian -T 44,95 



PERSONAL DEVEL (contd.) 
Conversational Spanish -T . , , , 44,95 
Paint- D 33,95 

PROGRAMMING 

MicrosoH Basic ll-Cart 67,95 

Atari Macro-Assembler-Cart , , 67,95 

Atari Basic -Cart 41,95 

Assembler Edilor-Cart 46,95 



BOOKS 

Analog Compendium 9,95 

Atari Assembler 14,95 

Basic Reference Manual 9,95 

Book of Atari Software 84 , , , , 17,95 
Compule's 1st Book ol Atari , , 12,95 
Compute's 1st Book/Games , , 12,95 
Compute's Isl Book /Graphics, ,12,95 
Compute's 2nd Book of Alari , 12 95 
Compute's 2nd Book/Graphics 12,95 
Compule's 3rd Book of Atari ,12,95 
Compute's Basic Source Book , 12,95 
Compute's Machine Lang/Beg , 14,95 

Inside Atari DOS 19,95 

Mapping the Atari 14,95 

Technical Reference Notes , , , , 27,95 
Your Atari Computer 16,95 

BRODERBUND 

AE-D 23,95 

Arcade Machine- D 41,95 

Bank Street Writer -D 49,95 

Cnoplifter-D 23,95 

Drol-D 23,95 

Gumball-D 20,95 

Loderunner-D 23,95 

lylask of the Sun-D 27,95 

Operation Whirlwind - D 27,95 

DATASOFT 

Basic Compiler- D 55,95 

Bruce Lee-D/T 23,95 

Dallas-D 23,95 

Heathclitf-D/T 23,95 

Letter Wizard Call 

Micropainter-D 23,95 

Money Wizard Call 

Nibbler-D/T 20,95 

Spell Wizard -D 34,95 

Teletalk-D 34,95 

Zaxxon-D/T 27,95 



EPYX 

Oragons/Pern-D/T 27,95 

Fun With Art-Cart 27,95 

Gateway to Apshai-Cart 27,95 

Jumpman Jr, - Cart 27,95 

Jumpman-D/T 27,95 

Pitstop-Cart 27,95 

Puzziemania Call 

Summer Games Call 

Temple ol Apshai-D/T 27,95 

INFOCOM 

Oeadline-D 34,95 

Enchanter-D 34,95 

lnlidel-0 34,95 

Hanetfall-D 34,95 

Sorcerer-D 34,95 

Starcross-D 27,95 

Suspended-D 34,95 

Witness-D 34,95 

Zork I, II. or lll-D 27,95 

Sea Stalker-D 34,95 

MICROPROSE 

Ctiopper Rescue-D/T 23,95 

Floyd/Jungle- D/T 23,95 

Hellcat Ace-D/T 23,95 

Mig Alley Ace-D/T 23,95 

NATO Commander-D/T 23,95 

Solo Flight-D/T 23,95 

Spitfire Ace-D/T 23,95 

Wingman-D/T 23,95 



Hundreds of items available (or the 
Atari . . . please call. 



MISCELLANEOUS ATARI 

Omnimon 82 95 

Pitfall-Cart 31.95 

River Raid-Cart 31.95 

Diskey-D 34,95 

Ultra Disassembler-D 34,95 

Zombies-O/T 23,95 

Codewriter-D 69,95 

Star League Baseball • D/T , , , 22 ,95 

Star Bowl Football-D/T 22,95 

Death in the Caribbean -D 27,95 

Dino Eggs-D 27,95 

The Heist-D 23,95 

Gyruss-Cart 34,95 

James Bond -Cart 34,95 

Popeye-Cart 34,95 

0-Bert-Cart 34,95 

Star Wars-Cart 34,95 

Return ol Heracles-D 26,50 

Master Type-D/Cart 27,95 

Songwriter-0 27,95 

Flight Simulator ll-D 37,95 

Chatterbee-D 27,95 

S,A,M,-D 41,95 

Castle Wollenslein-D 20,95 

CompuServe Starter Kit 34,95 

Home Accountant -D 52,95 

Ken Uslon's Blackjack-D 49,95 

Megafont-D 19,95 

Monkey Wrench 1 1 - Cart 49,95 

Movie Maker-D 41,95 

Pogo Joe-D 20,95 

Spelunker-D 27,95 

Ultima lll-O 41,95 

Jupiter Mission-D 34,95 

Oreadnaught Factor-Cart 31,95 



MISC. ATARI (cont'd) 

Keystone Kapers-Cart 31,95 

Antica 4-D 37,95 

Boulder Dash-D/T 20,95 

Scraper Caper-Cart 34,95 

Miner 2049'er-Cart 34,95 

OPTIMIZED SYSTEMS 

Action-Cart 74,95 

Basic XL-Cart 74,95 

MAC/65-Cart 74,95 

DOS XL-D 27,95 

Action Aid-D 27,95 

SIERRA ON-LINE 

Aguatron-D 20,95 

Dark Crystal-D 27,95 

Homeword Speller-D 34,95 

Homeword-0 49,95 

Oil's Well-D 23,95 

Prisoner- D 23,95 

Quest forTlres-D 23,95 

Ultima ll-D 41,95 

Ultima l-D 23,95 

Wiztype-D 23,95 

SPINNAKER 

Adventure Creature-Cart 27,95 

Aerobics-D 30,95 

Ageian Voyage-Cart 27,95 

Alphabet Zoo-Cart 23,95 

Cosmic Life -Cart 23,95 

Delta Drawing-Cart 27,95 

Grandma's House-D 23,95 

Jukebox-Cart 27,95 

Kids on Keys-Cart 23,95 



To Order Call Toll Free 



For Technical Info, Order 
Inquiries, or for Wise. Orders 



SPINNAKER (cont'd.) 

Kindercomp-Cart 20,95 

Ranch -Cart 27,95 

Search /Amazing Thing-D , , , , 27,95 

Snooper -1 or-2-D 30,95 

Trains-D 27,95 

All in the Color Caves -Cart , , , 27,95 

Bubble Burst-Cart 27,95 

Kidwriter-0 23,95 

SSI 

Carrier Force -D 41,95 

Combat Leader-D/T 27,95 

Cosmic Balance ll-D 27,95 

Cosmic Balance -D 27,95 

Broadsides-D 27,95 

War in Russia-D 55,95 

50 Mission Crush -D 27,95 

Questron-D 34,95 

Hails West-D 27,95 

SYNAPSE 

Air Support-0/T 23,95 

Alley Cat-D/T 23,95 

Blue Max-D/T 23,95 

Dimension X-D/T 23,95 

Drelbs-D/T 23,95 

Electrician-D/T 23,95 

Encounter-D/T 23,95 

Fort Apocalypse- D/T 23,95 

Necromancer-D/T 23,95 

New York Clty-D/T 23,95 

Pharoah's Curse-D/T 23,95 

Quasimodo-D/T 23,95 

Rainbow Walker-D/T 23,95 

Relax Stress Reduction System , , , Call 

Shamus Case ll-D/T 23,95 

Zepplin-O/T 23,95 



800 ■ 558 ■ 0003 41 4 ■ 351 ■ 2007 



DDisk T-Cassette 
Cart-Cartridge 




ORDERING INFORMATION. Please specify system. For fast delivery send casftier's check, money order or direct bank transfers. Personal 
and company checks allovw 2 weeks to clear. Charges for COD are $3.00. School Purchase Orders welcome. In CONTINENTAL USA, in- 
clude $3.00 shipping per software order. Include 3% shipping on all Hardware orders, minimum $3.00. Mastercard & Visa please include 
card # and expiration date. Wl residents please add 5% sales tax. HI, AK, FPO, APO, Canadian orders — add 5% shipping, minimum $5,00, 
All other foreign orders, please add 15% shipping, minimum $10,00, All goods are new and include factory warranty. Due to our low prices, 
all sales are final. All defective returns must have a return authorization number. Please call 414-351 -2007 to obtain an RA# or your return 
will NOT be accepted for replacement or repair. Prices and availability are subject to change without notice. 



COMPUTABILITY 

P,0, Box 17882 
Milwaukee, Wl 53217 

ORDER LINES OPEN 
Mon-Fri 11 AM - 7 PM CST 
Sat 12 PM- 5 PM CST 



CIRCLE #113 ON READER SERVICE CARD 



PAGE 24 



ANALOG COMPUTING 



ISSUE 23 




Climber 



16K Cassette or 24K Disk 



by John Hanke 



Climber is an arcade game for one player. It re- 
quires 16K bytes of memory and a joystick plugged 
into port 0. 

The object of the game is to guide your on-screen 
counterpart to the top of a fifteen-story building. 
The building is divided into five screens of three 
platforms each. A ladder joins each platform to the 
next. In order to climb the ladder and advance to the 
next platform, you must first acquire the "key." To get 
the key, simply maneuver under it and press the "fire" 
button. Then move to the ladder and push the joy- 



stick "up." You, unfortunately, are not the only in- 
habitant of the building. . .the munchkins are out 
there! The touch of these genetically-mutated beasts 
is deadly. They blindly roam the building in search 
of intruders. The only way to maneuver around the 
building is to master the art of jumping over them. 
Jumping is accomplished by pressing the "fire" but- 
ton. You must be moving towards the munchkin, and 
the jump must be carefully timed in order to clear 
it. On levels three and upward, yet another factor 
hampers your ascent . . . sections of the platform have 



ISSUE 23 



ANALOG COMPUTING 



PAGE 25 



decayed, leaving potentially deadly holes. These, too, 
must be jumped over. You are allotted three lives to 
begin with and awarded a bonus life every third 
screen. Watch out — the munchkins can be very 
tricky; you may find it beneficial to stay at the left 
edge of the screen and watch the patterns they fol- 
low, in order to play your moves. Good luck! 

My thanks go to Tom Hudson for his excellent 
P/M mover subroutine (ANALOG issue 11). Without 
it, this program could not have been written. The 
munchkins are interesting examples of BASIC's limi- 
tations when writing an arcade -style game. Players 1- 
3 each contain two definitions. (Remember, a player 
is taller than the screen.) Therefore, two munchkins 
always share the same horizontal position, since they 
are, in fact, the same player. This provides two pur- 
suers on each of three platforms, for a total of six. 
Using this method allows the program to simulate 
control of six objects with the same speed it would 
normally take to control three. Display list interrupts 
could have been used to change the players' hori- 
zontal position, but this would have bogged BASIC 
down with more numbers. Another step taken to con- 
serve speed was to make the munchkins unintelligent. 
They move in a predictable pattern stored in three 
arrays. This requires minimal computation time in the 



game loop. REMs were not included in the program 
to conserve memory, so a brief summary of the main 
program segments and variables follows. D 

Line 5 — Branch to initialization. 

Lines 10-90 — This is the main game loop. 
Read stick, move players and check collisions. 

Lines 5000 - 5040 — This is the jumping 
routine. Most functions of the main loop (check 
collisions, move munchkins, etc.) are duplicated 
here to increase speed. 

Lines 6000 - 6070 - This is the ladder- 
climbing routine. Most functions of main loop 
duplicated here, also. 

Lines 7000 - 7010 - Routine to handle fall- 
ing off platform. 

Lines 7500 - 7530 — This section handles 
special effects and branches to reset screen when 
player is killed. 

Lines 8000 - 8010 — Control completion of 
a level and advance to the next. 

Lines 10000 - 10030 - Begin initialization. 
Reserve memory for P/M tables and character 
set. Displays title screen. 

Line 10120 — Reads in Tom Hudson's P/M 
mover routine. 



WHAT IS 
D:CHECK/C:CHECK? 



Most program listings in ANALOG are followed by a table of numbers appearing as 
DATA statements, called "CHECKSUM DATA." These numbers are to be used in conjunc- 
tion with D:CHECK and C:CHECK, which appeared in the ANALOG Compendium and 
Issue No. 16. 

D:CHECK and C:CHECK are programs by Istvan Mohos and Tom Hudson. They are 
designed to find and correct typing errors when entering programs from the magazine. 
For those readers who do not have a copy of either article, send for a copy of back issue 
1 6 ($4.00) or The ANALOG Compendium ($1 4.95 plus $2.00 shipping and handling) from: 

ANALOG Computing 

P.O. BOX 615 
HOLMES, PA 19043 



PAGE 26 



ANALOG COMPUTING 



ISSUE 23 



Lines 10130 - 10185 — Read player data in- 
to strings. 

Lines 10186 - 10188 — Poke new character 
definitions into memory. 

Lines 10220 - 10225 — Initialize display 
list. 

Lines 10250 - 10270 — Poke missile data 
(keys) into P/M memory. 

Line 10280 — Sets up counters for a new 
game. Change LEVEL here to start on a level 
higher than 1. Change L to increase number of 
lives. 

Lines 10290 - 10320 — Put proper munch- 
kin for each level into working strings. 

Line 10400 — Sets P/M colors. 

Lines 10410 - 10570 — Print playfield and 
randomly place ladders and keys. 

Lines 10580 - 10635 — Randomly place 
holes in platforms on higher levels. Check for 
interference with ladders. 

Lines 10640 - 10660 — Read munchkin 
movement data and starting positions into AXl, 
AX2 and AX3 arrays. 

Lines 10670 - 10680 — Flash player onto 
screen and check for game in progress. 

Lines 11000 - 11020 — Scroll intro message 
onto screen and check for trigger. 

Lines 20000 - 20140 — Player shape data. 

Lines 20150 - 20170 — Ladder and platform 
character definitions. 

Lines 22000 - 22020 — Missile (key) data. 

Lines 25000 - 25040 — Movement data for 
munchkins. 

Variable table. 
Variable — Usage 

S — Used to read joystick. 

X, Y — Player O's horizontal and vertical po- 
sition. 

C1,M — Counters used for munchkin move- 
ment. 

XI, X2, X3 — Munchkin in horizontal posi- 
tions. 

AXIO, AX2(), AX3() - Values used to incre- 
ment munchkin in horizontal position. 

LEVEL — Current difficulty level. 

L — Lives remaining. 

K — Key flag. 1 if player has key; if not. 

Z — Current platform. 

G — Game in progress flag. 

CBASE, CB — Character set address in pages 
and full. 

PMBASE.PMB — P/M memory address in 
pages and full. 

MOVE — Address of P/M mover routine. 



F() — Addresses of player data strings MA$- 
MF$. 

P3, P4, P5 — Addresses of munchkin data 
strings PA$-PC$. 

LP() — Position of ladders. 

B,D,C,R — General purpose variables. 

MA$, MB$, MC$, MD$, ME$, MF$ - Defi- 
nitions for player 0. 

P3$, P4$, P5$ — Definitions for munchkins. 

PA$ , PB$ , PC$ — Definitions for munchkins 
(temporary). 

MOVE$ - Holds Tom Hudson's P/M mover 
routine. 

BASIC listing. 

5 GOTO 18988 

18 SrSTICKfSJ :IF SOlS THEH 51=5 

15 K=K+ t (5=7 J - (5=11 J J «2 : B=B <1 : ft=U5R (MO 

UE,8,PMB,FtB+l+C51=llJ*2J,X,Y,15J 

28 50UHI> 8,e,0,15:5OUHD 0,8,e,8:IF PEE 

K (532523 =8 THEN 7888 

38 POKE 53278,0: IF 5TRIG(8)=8 THEN 605 

UB 5880 

48 IF 5=14 flHD (K-48) /4=LP (Z) flHD K=l 

THEN K=8:G05UB 6888 

58 C1=C1+1:IF Cl>39 THEN Cl=8 :M=M+1 :IF 

M>4 THEM M=l 
68 K1=K1+AK1(M3 : K2=K2*ftX2 (M) :X3=X3+AX3 
(MJsPOKE 53249, Xl:P0KE 53258, X2 :POKE 5 
3251, X3 

78 IF PEEK(53268J>e THEH 7588 
98 GOTO 18 

5888 I=((5=7}-(5=11JJK2 

5885 FOR C=l TO 8 : Y=Y- ( (C<3J - (C>63 J»5 : 
K=K*I:fl=U5R(M0UE,8,PMB,F(B+l+(5=ll}»2J 
,X,V,14J 

5818 Cl=Cl+l:IF Cl>39 THEM C1=8:M=M+1: 
IF M>4 THEN M=l 

5828 Xi=Kl+ftKl{M) : X2=X2+<iX2 (M) :X3=K3+A 
X3(M3:P0KE 53249, KllPOKE 53258, X2 : POKE 

53251, X3 
5825 IF PEEK(53256+Z3>0 AMD K=8 THEM 5 
OUMD 8,40,18,6:P0KE 53252+Z,8 :K=1 : 5CRE 
=5CRE+588 

5830 50UWD 8, Y, 18, 6»(C<4J : IF PEEK(5326 
83 >0 THEM POP :G0T0 7500 
5848 MEXT CiRETURN 

6888 POKE 77,8:Yi=Y:IF Z=l THEN POP :G 
OTO 8888 

6818 5=5TICK(83 :Yl=Yi+((5=13 AMD Y1<Y- 
13 - C5=143 3*2 : fl=U5R (MOVE , 8 , PMB , F (B+53 , K 
,Y1,143 

6828 Cl=Cl+l:IF Cl>39 THEM C1=8:M=M+1: 
IF M>4 THEH M=l 

6838 50UHD 8, 8 , 8, 8 : Xl=Xl+ftXl (M3 :X2=X2+ 
flX2 (M3 : K3=H3+flH3 (MJ : POKE 53249 , XI : POKE 

53250, X2:P0KE 53251, X3 
6848 IF PEEK(532683>8 THEM POP ".GOTO 7 
580 

6850 IF Yl=Y-28 THEH Y=Y1 : Z=Z-1 :HETURM 
6860 IF 5=13 OR 5=14 THEM B=B<1:50UMD 
8,Yl«2,ie,6:50UMD 8,8,8,8 
6878 GOTO 6010 

7888 FOR C=Y TO 128 : B=B<1 : 50UMD 0,C,18 
,6:A=U5R(M0UE,8,PMB,F(B+53 ,X,C,143 :MEX 
T C 

7810 FOR C=255 TO 8 5TEP -18:50UMD 8,C 
,4,6:50UND 1,255-C,6,5:KEXT C:50UND 8, 
8,8,0:S0UMD 1,8,8,0 

7580 FOR C=8 TO 255 5TEP 5 : POKE 784,0: 
50UND 8,188,12,6:50UND 1, 99, 12, B»6 : 50U 
MD 2,C,2,6:B=B<l:MEKT C 

7510 POKE 53248, 8:P0KE 53278, 8 : L=L-1 :5 
OUMD 8,8,0,0:50UHI> 1, 8, 6, 8 : 50UND 2,8,8 
,8:IF L<>0 THEM 8818 
7520 P05ITI0M 2,23:? ■■ BaMS ovHr 

■■;:P05ITI0M 9,8:? 5CRE; :IF 5CREyHIGH 
THEM HIGH=5CRE 



ISSUE 23 



ANALOG COMPUTING 



PAGE 27 



7530 FOR C=l TO 3eO:NEKT C:GOTO 18288 

8880 FOR C=Y TO Y-12 STEP -2: SOUND 8,8 

,8,8:fl=USRtM0gE,0,PMB,FtB+5J,X,C,14) :B 

=B<1: SOUND 8,Y*2,18,8:NEKT C:Y=C 

8885 SOUND 8, 8, . 8 : SCRE=SCRE+ia88 : LEVE 

L=LEVEL+1- f LEUEL>4) »5 : IF LEUEL/3=IHT (L 

EUEL/3) THEN L=L+1 

8810 POKE 53248, 0:POKE 53243, 8:P0KE 53 

258,e:P0KE 53251, OlGOTO 18238 

18888 CBflSE^PEEK C106J -8 : PMBaSE=CBftSE-4 

:POKE 186,PMBASE:PMB=PMBflSE*256:CB-CBfl 

SE»256:P0KE 54279, PMBflSE :GRflPHICS 8 

leeie graphics 2+16: position 6.1 :? tie; 

^^BER": POSITION 3,4:? mi"mmnsnM 

18828 p osition 8,5:? «6 ;•■[[: 
1!IM:Ip|": POSITION 4,9:? tt6p 



18838 FOR C=8 TO 511: POKE CB+C,PEEK{57 

344+C} :NEKT C 

18118 DIM MAS{15),MB5tl5J,MCSC15J,MDS< 

15) , MES C14) , MFS {14) . P3S (8) , P45 f 8) , PS5 C 

8) , Pfl5 <8) , PBS C8) , PCS {8) 

18115 DIM ftXlf4),AK2£4),flK3{4),Ff6),Lfl 

DS <48) , LP C4) , MSS C120) , PMOUS il88) 

18128 FOR C=l TO ie8:READ D:PMOUS{C,C) 

=CHRSCD) :NEKT C 

18138 FOR C=l TO 15: READ D : MflS f C, O =CH 

RS(D} :NEKT C 

18148'fOR C=1 to 15:REflD D : MBS CC, C) =CH 

HS«D) :HE}<T C 

18158 FOR C=l TO 15: READ D : MCS JC, C) =CH 

RSiD) :HEHT C 

18168 FOR C=i TO 15: READ D : MDS fC, C) =CH 



RSiD) :HEKT C 
18162 FOR C=l 
RS(D) :HEXT C 



TO 14:READ D : MES CC,C) =CH 



18166 FOR C=l TO 14: READ D :MFSCC,C)=CH 

RS CD) : NEXT C 

10178"fOR C=1 to 8:READ D : P3S tC, C) =CHR 

S CD) : NEXT C 

18188 FOR C=l TO 8:READ :P4S fC, C) =CHR 

SCD) :NEXT C 

18185 FOR C=l TO 8:READ D : P5S (C, C) =CHR 

C 

TO 7: READ D:POKE 64»8+C+ 



StD):NEKT 

18186 FOR 
CB,D:HEXT 

18187 FOR C=8 TO 
CB,D:NEXT C 

18188 FOR 
CB,D:NEXT 



c=e 
c 



C=:8 TO 
C 



7: READ D:P0KE 65«8+C* 
7: READ D:POKE 66*8+C+ 



18198 FOR C=21 TO 25:READ D:LADSCC,C)= 
CHRSCD):HEXT C:F0R C=1 TO 16 STEP 5:LA 
DS(C,C+4)=LADS(21,25) :NEXT C 
18288 LADSC26,27)=LADS{21,22) 
18 218 MSS5" 

D 

18228 GRAPHICS 8 : START=PEEK C568) +256»P 

EEK(561) :POKE STAHT+28,6 

18225 FOR C=START+6 TO 5TART+27 : POKE C 

,4:NEXT C:POKE 756, CBASE : SETCOLOR 2,8, 

18 

18238 POKE 559,46:P0KE 53277, 3:P0KE 53 

275,2 

18248 M0UE=ADR f PMOUS) : F fl) =ADR CMAS) : F i 

2) =ADR IMBS) : F f 3) =ADR CMCS) : F f 4) ::ADR «MDS 

) : F tS) rADR CMES) : F (6) =ADR CMFS) 

18258 FOR C=PMB+397*4«3 TO PMB+397+4»3 

+7:READ D:POKE C,D:HEXT C 

18268 FOR C=PMB+397+4»18 TO PMB+397+4** 

18+7: READ D:PDKE C,D:NEKT C 

18278 FOR C=PMB+397+4»17 TO PMB+397+4* 

17+7:READ D:POKE C,D:HEXT C 

18280 LEUEL=l:SCRE=8:L=3:G=8 

18298 IF LEUEL=1 THEN PAS=P3S : PBS=P3S : 

PCS— P3S 

18388 IF LEUEL=2 THEN PAS=P4S :PBS=P4S : 

PCS— P4S 

18310 IF LEUEL:z3 THEN PAS=P3S : PBS=P4S : 

PCS=P5S 

10315 IF LEUEL>3 THEN PAS=P5S : PBS=P5S : 

PCS=P5S 

18328 P3=ADRCPAS) : P4=:ADR (PBS) :P5=ADRtP 

CS) 

18330 A=USR{M0UE,l,PMB,P5,8,4e,8) :FOR 

C=l TO 8: POKE C+PMB*655+4»13,ASCtPBSCC 

,C)) :NEXT C 



18348 A=USHtM0UE,2,PMB,P4,8,68,8) :FOR 
C=l TO 8 SPOKE C+PMB+783+4«28,ASCtPAS{C 

) : NEXT C 
18358 A=USH{M0VE,3,PMB,P5,8,48,8) :FOR 
C=l TO 8: POKE C+PMB+911+4»28,ASCtPAStC 

C J } ' NEHT C 
18488 POKE 785,182:P0KE 786,128:P0KE 7 
87,288 
f.SM^rI "'^"5 POKE 752,1: POSITION 2 .8:? 

;;EEQiniH ";scre;:position 17,8:? "^Mb 

18428 POSITION 29,8:? " nWfTTH "jHIGH 
18508 FOR C=l TO 22 STEP 7: POSITION 8, 
C:FOR D=l TO 48:? CHRS 42) ; : NEXT D:NEXT 

C 
18585 POSITION 8,23:? " atfn.Tn LEV 
EL:";LEVEL; :SETCOLOR 1, LEUEL«2+2,4 
18518 R=INT(RNDC8)K3844) : LP (1) =R :POSIT 
ION R,2:? LADS; 
18528 FOR C=2 TO 3 

18538 R=INTtRND{8)*3e+4) :IF ABSCR-<LPt 
C-l)))<8 THEN 18538 

18540 POSITION H, CC-l)«7+2 : ? LADS;:LP( 
C)=R:NEXT C 
18558 FOR C=l TO 3 

18568 R=:INTtRNDt8)»30+4) :IF ABStR-LPfC 
))<8 THEN 18568 

10570 POKE 53252+C,48+R»4:NEXT C 
10588 IF LEVEL<3 THEN 18648 
18598 FOR C=4 TO 36 STEP 6 : IF ABS tC-LP 
(1)J<4 OR ABSCC-LPf2))<4 OR RNDC8)>(LE 
UEL-2)/18+8.5 THEN B=l 
18688 IF B=8 THEN POSITION C,8:? "■ 

10685 B=0:HEKT C 

18610 IF LEVEL <4 THEN 10640 

18628 FOR Cr2 TO 3 

18638 FOR Cl=4 TO 36 STEP 6: IF ABSCCl- 

LPCC))<4 OR ABSCC1-LPCC+<C=2)))<4 OR R 

HDC8)>fLEVEL-2)/10*8.5 THEN B=l 

10635 IF B=8 THEN POSITION C1,C»7+1:' 

II Bl > r • 

18637 'b=8: NEXT CI: NEXT C 

10648 RESTORE 25888+ (LEVEL-D^IB : M=l :C 

1=8 : X=54 : Y=98 : Z=3 : K=0 : READ XI : X1=K1«4* 

48: FOR C=l TO 4: READ D : AXl (C) =D : NEXT C 

18658 READ X2 : X2=X2«4+48: FOR C=l TO 4: 

READ D:AX2{C)=D:NEXT C 

18668 READ K3 : X3=X3*4+48 :FOR C=l TO 4: 

READ D:AX3fC)=D:HEXT C 

18678 A=USRiM0VE,8,PMB,FCl),X,Y,15J :F0 

R C=8 TO 255 STEP 5 : B=:B<1 :POKE 784, 8:S 

OUHD 8,C,8,6*B:P0KE 784,26:NEXT C 

10688 SOUND O,e,O,0:IF G>8 THEN 18 

11888 FOR C=l TO LEN fMSS) -28 :POSITIOH 

8,23:? MSStC,C+28); 

11818 IF STRI Gte)=8 THEN POSITION 8,23 

:? ■■ aOffiraai level :■•,■ level?" "j:G=1 

:C1=0:G0T0 10 

11028 FOR Cl=l TO 18:HEXT C1:NEXT C:GO 

TO 11888 

19888 DATA 216,184,184,184,133,213,184 

,24,185,2,133,286,184,133,285,184,133, 

284,184,133,203,104,184,133,288 

19818 DATA 184,184,133,209,184,184,24, 

181,289,133,287,166,213,248,16,165,285 

,24,185,128,133,285,165,286,185 

19828 DATA 8,133,206,282,288,248,168,0 

,162,0,196,289,144,19,196,287,176,15,1 

32,212,138,168,177,283,164 

19038 DATA 212,145,285,232,169,8,248,4 

,169,8,145,285,288,192,128,288,224,166 

,213,165,288,157,0,288,96 

28888 DATA 56,68,56,56,16,254,56,56 

28810 DATA 56,60,36,36,38,48,8 

20020 DATA 56,60,56,56,16,254,56,56 

20838 DATA 56,68,36,36,52,6,8 

28848 DATA 28,68,28,28,8,127,28,28 

28858 DATA 68,68,36,35,188,12,8 

28868 DATA 28,68,28,28,8,127,28,28 

28878 DATA 58,68,36,36,44,96,8 

28888 DATA 92,92,93,93,73,127,28,28 

20890 DATA 28,28,34,34,98,3 

28188 DATA 29,29,93,93,73,127,28,28 

28118 DATA 28,28,34,34,35,96 

28128 DATA 60,126,219,219,126,68,36,18 

2 



P.O. BOX 3354, CHERRY HILL, N.J. 08034 

Toll FREE (800) 992-3300 

For Information Call (609) 596-1944 

Call us for reliable service, experience and affordable prices! 




Atari 600 XL ... 'Call 

Atari 800 XL 'Caii 

850 Interface . '199 

1010 Program Recorder '72 

1020 40-column Color Printer'Call 

1025 80-column Printer '325 

1027 Letter Quality Printer... '274 
1030 Direct Connect Modem '109 

1050 Disk Drive 'Call 

Touch Tablet '64 

Light Pen '74 

600 XL Memory Module '124 



Special of the Month 
Atari 1050 Disk Drive 

Limited $OQQ 
Quantities fc-*/*.f 



SOFTWARE 

GAMES 

Donkey Kong Jr «36 

Eastern Front '34 

Football '34 

Joust '36 

Pole Position '36 

Ms. Pac-Man '35 

Tennis '34 

Pengo '36 

PROGRAMMING SERIES 

Assembler Editor '45 

Microsoft Basic II '61 

Atari Logo '69 

Pilot '59 



Special of the Month 

Atari Logo 

^69 



PRINTERS 

Epson 'Call 

Okidata 'Call 

Star 

Gemini 10X '268 

Gemini 15X '368 



Special of the Month 
Atari 1030 Modem 



Beat the 
Price Increase 



^109 



MODEMS 

Hayes Smart 300 '209.95 

Hayes Smart 1200 '484.00 

Prometheus Smart 1200.. '299.95 
Modem Cable to 850 '29.95 



In-Home Key Board for 400 '65 

Mosaic RAM Board 48K '89 

Mosaic RAM Board 64K '99 

DISK DRIVES 

Astra 1 620 '465 

Indus GT 'Lowest Price 1 

Percom with Printer Port 'Call 

Trak AT-D2 '385 

FLOPPY DISK 

Elephant SS/SD (10) '16.95 

Elephant SS/DD (10) '19.95 

Verbatim SS/DD (10) '21.95 

Fuji SS/DD (10) '19.95 

Maxell SS/DD (MDI) '22.95 

MONITORS 

Amdek Color 1+ '269 

BMC 13" Color '239 

Sakata Color '229 

ciC3r>rt«='«-JrTiBt^ 



HOME MANAGEMENT 

Family Finances '39 

Homefiling Manager '39 

Mailing List '23 

Atari Speed Reading '59 

Electronic Arts 
$ CALL $ 

Archon 'Call 

Mule For 

Pinball Construction Lowest 

7 Cities of Gold Prices 

Financial Cook Book & Best 

Music Construction Prices 

INFOCOM 

Zork 1, 2, or 3 «27 

Enchanter '33 

Soccerer '33 

Infidel »33 

Sea Stalker '33 

Ordering & Payment Policy 

Prices reflect a cash discount. For C.O.D., Visa, and Mastercard add 3%. For| 

immediate delivery with certified check or wired funds. N.J. resident add 6%. 

Prices subject to change. 



Features fwavy duty canvas with vinyl 
interior, waterproof. 

Atari 800 XL '6.99 

810 Disk Drive '6.99 

Epson Printers '7.99 

Okidata 92 '7.99 



Special of the Month 

SUBLOGIC 

Flight Simulator 

^39.95 



Shipping 

For shipping and handling add 3% ($3 
minimum). Larger shipments require 
additional charges. 



Catalog 

We sell a large selection of hardware 
and software. Send $1 for catalog, 
refundable with order. 



20130 DflTfl 60,126,219,255,231,219,255, 

178 

20140 DftTfl 60,102,102,189,153,129,66,0 

20150 DATft 240,240,240,255,255,240,240 

,240 

20160 DATA 15,15,15,255,255,15,15,15 

20170 DATA 85,85,170,170,170,170,85,85 

20180 DATA 128,129,29,126,126 

22000 DATA 12,12,8,12,8,12,8,0 

22010 DATA 48,48,32,48,32,48,32,0 

22020 DATA 192,192,128,192,128,192,128 

,0 

25000 DATA 38,-2,1,-1,2,8,1,-1,1,-1,22 

25oio'DATA 38,-2,-1,2,1,22,-1,5,1.5,1. 

5,-1.5,38,-1,-2,1,2 

25028 DATA 8, 1, 2, -1, -2, 38, -2,- . 5,2, , 5, 

38,-1,-1,2,0 

25030 DATA 38,-1,-1,1,1,8,2,-1,1,-2,22 

,-1,2,-2,1 

25048 DATA 22, -1 . 5, -1, 2, . 5, 22,1 .5, -2, - 

.5, 1,22, -.5, 1.5, 1,-2 



CHECKSUM DATA. 

(see page 25) 

5 DATA 619,84,347,101,602,55,265,176,4 

02,617,555,40,288,563,417,5131 

5030 DATA 397,859,961,885,291,12,965,1 

71,496,730,985,366,828,282,835,9063 

7530 DATA 838,303,207,993,349,116,535, 

172,447,111,427,984,989,994,999,8456 

10152 DATA 6,21,281,285,302,319,323,32 

7,657,120,175,857,139,344,538,4694 

10250 DATA 741,895,918,917,616,607,612 

,633,962,432,447,433,181,325,580,9219 

10500 DATA 662,620,731,251,611,369,255 

,376,877,434,601,876,424,423,252,7762 

10630 DATA 510,286,268,958,442,451,565 

,281,963,882,938,750,786,524,304,8908 

20000 DATA 746,321,750,118,881,563,885 

,316,763,47,762,289,245,316,12,7014 

20150 DATA 525,924,72,174,308,684,527, 

956,882,53,971,84,6088 



Coming Soon: 

Bopotron 

by 

Kyle Peacock 



CIRCLE #114 ON READER SERVICE CARD 



ISSUE 23 



ANALOG COMPUTING 



PAGE 29 



Mini 




40K Disk 



by David Bohlke 



Minicomp is a compiler written in Atari BASIC 
that will translate a subset of Atari BASIC into 100% 
machine language. The Minicomp compiler, your BA- 
SIC source program, the Atari BASIC interpreter (car- 
tridge or disk) and the compiled object code will all 
reside in memory at the same time. Hence, it's possi- 
ble to write and debug your program in BASIC, then 
compile it without switching any disk or tape files. 
You will need 40K of memory to effectively utilize 
Minicomp. 

Minicomp was designed originally as a graphics 
game compiler. It can compile just eleven different 
BASIC statements. But I think you'll find these state- 
ments, along with a working knowledge of the Atari 
Operating System, can be quite powerful in writing 
BASIC games that run with machine code speed. 
With PEEK and POKE you can utilize sound, color, 
joysticks, random, P/M graphics, display lists, timers, 
scrolling, data tables and other Operating System func- 
tions. In future articles, I will present and explain 
several full length games — written with only the elev- 
en Minicomp statements — that you can compile, take 
apart, study and enhance. 

Getting started. 

First, you will need to key in the short program 
INIT96 (Listing 1). Be sure you SAVE this listing to 
disk or tape before you RUN it! The purpose of IN- 



IT96 is to move the low memory (LOMEM) pointer 
to page 96. After you RUN the program, you should 
have 15118 bytes of free memory remaining. The 
RAM below page 96 (24576) is now protected from 
BASIC and will be used to store the compiled object 
code. Minicomp will use page 48 (12288 dec — above 
DOS I) as a starting location for the object code, so 
our object code program can be around 12K in length 
(page 48 to page 96). 

Now you can key in the BASIC code for Minicomp 
(Listing 2). This compiler program is about 5K in 
length and will reside, along with our BASIC source 
program, above the page 96 boundary. The Minicomp 
compiler, and future BASIC source programs, should 
be LlSTed to disk or tape. This will make it possible 
to "chain" these programs together in memory later 
on. I won't attemipt to describe Minicomp's design 
at this time. If there is sufficient interest, though, I'll 
give a line-by-line explanation in a future article. 

Using Minicomp. 
It's time for a quick demonstration of Minicomp's 
potential. During each session using Minicomp, it will 
be necessary to begin as follows: (1) Power up your 
Atari; (2) LOAD and RUN the INIT96 program to 
adjust LOMEM; (3) ENTER the Minicomp compil- 
er; and (4) ENTER or type in your BASIC source 
program. 



PAGE 30 



ANALOG COMPUTING 



ISSUE 23 



In this case, after you LOAD and RUN the INIT96 
program and ENTER the Minicomp compiler, you 
may type in the Speed Demo (Listing 3) program. 
Now, type RUN and press RETURN to get an idea 
of the speed of BASIC. This Speed Demo program 
will display all 255 character codes on a GR.O screen. 
You can press BREAK at any time to exit this run. 

To invoke Minicomp and compile this short pro- 
gram, type GOTO 1000 (RETURN). Minicomp will 
compile every line number from 1 to 999 into 100% 
6502 machine code. During the first pass of the com- 
piler process, Minicomp's top line should read: 

4 DATA 112,696,868 

The first number is the current location in the ob- 
ject code buffer, beginning at 12277. At the end of 
compile, it will be the highest memory location used 
by the object code buffer. The second number is the 
current line number being compiled, and the third 
number is the number of lines compiled thus far. Lines 
2-24 on the screen denote the LSB/MSB decimal for 
the program line numbers, paired with each line's 
number location in the object code buffer. These val- 
ues are used during the second pass of the compiler 
to adjust the GOTO and GOSUB locations. During 
this second pass, the word JUMPS will be displayed 
in the upper right corner of the screen, and the com- 
piler's location in the object code buffer will print to 
the left of this message. Minicomp does a minimal 
amount of error checking, so be sure to use just the 
eleven commands in their restricted format when writ- 
ing your own programs to be compiled. If Minicomp 
does catch an error, the word ERROR will display in 
the upper right hand corner of the screen, and the 
compile process will terminate. 

Once the compile process is finished, the prompt 
RETURN will be printed in the upper right of the 
screen. To execute your machine language code, just 
press the RETURN key. 1 hope you're impressed with 
the speed of the compiled code — because that's what 
Minicomp is all about. Control will return to the 
BASIC mode at the end of the run, or you can press 
RESET at any time to exit. The compiled code can 
be RUN additional times by entering GOTO 2000 
then pressing RETURN twice. 

The Speed Demo program listing is fairly easy to 
follow. Lines 10 and 20 find the beginning of display 
memory [simulates PEEK(89) *256+ PEEK(88)] and 
put this value into variable DS. Since Minicomp 
doesn't support multiplication, we need the short rou- 
tine at Lines 900-904 to multiply the variables A and 
B, with the product being placed in C. Lines 100-130 
will fill the screen with each of the 255 character 
codes in succession. The variable P will increment 
from 1 to 255. Minicomp cannot compile any print 
statements, so everything to be displayed must be 
POKEd to the screen memory. The variable A be- 
gins at DS and increments until it reaches the end 



of the GR.O display memory, which is DS + 960 (vari- 
able E). Notice how the Minicomp statement set is 
used strictly in its prescribed format. This requires 
some extra BASIC source program coding, but I hope 
you find the compiled machine language speed worth 
the effort. 

Disk users can save the object file on disk by en- 
tering DOS and using the K command. I recommend 
using DOS I, as DOS II will overlay the object code 
area in larger applications. Make a note of the end 
of the object code buffer during compile. For the 
Speed Demo, this should be around 12700. Now, 
when you use the K command in DOS, the begin- 
ning (12288) and end (12700) of the object code buffer 
will need to be converted to hex. This object code 
buffer can then be appended with the starting address 
(12288), so the file will run after you load it using 
the L command. An alternative would be to load the 
object file, using the L command, then use the M 
command in DOS with a hex starting address of 3000 
(12288 dec) to execute the object code. 



Minicomp 


statement set 


A=ccc 


A=B 


END 


A=B+C 


A=B-C 


IF A=B THEN nnn 


IF A<B THEN nnnGOTO nnn 


GOSUB nnn,RETURN 


A=PEEK(B) 


POKE A,B 



When you enter your BASIC code, you can use only 
the eleven statements given above and described be- 
low. These statements will function the same in their 
compiled form as they do in BASIC. The use of other 
statements may cause a compiler error message and 
will not allow Minicomp to compile accurately. 

It is an expedient practice to write and debug your 
BASIC program and LIST it to disk or tape before 
you compile it. 

In the following examples. A, B and C represent 
legal variable names. You can use up to seventy dif- 
ferent variables in your program. Your entire BASIC 
source program must use line numbers 1-999. These 
are denoted by nnn in the examples below. Because 
of the conversion from BCD to LSB,MSB number 
representation, it is a good idea to avoid negative num- 
bers. Positive constant integers will be referred to as 
ccc. Your BASIC source program can have up to 230 
lines of code. 

A = ccc or A = B 

The left member of the assignment must be 
a variable name, and the right side can be a con- 
stant (positive integer) or a variable name. This 
is the only statement where constants can be 
compiled by Minicomp. 

END 

This statement will compile into a 6502 RTS 



ISSUE 23 



ANALOG COMPUTING 



PAGE 31 



command. When you execute your compiled 
code, the END statement will return the com- 
puter to your control. If your machine code has 
an endless loop, you can return to BASIC by 
pressing RESET. It is always a good idea to have 
an END statement at Line 999, which is the last 
line Minicomp will compile. 

A = B + C or A = B-C 

Only addition and subtraction are supported, 
with just one operation in each statement. The 
operators must be variables, as constants will not 
compile. So, to add 8 and 25, you need to use: 
B=8: C=25: A=B+C. See the Speed Demo 
for a multiplication routine. 

IF A=B THEN nnn or IF A<B THEN nnn 

Only variables can be used in the comparisons 
—no constants. "Greater than" isn't supported, 
but you only need to switch the variables around 
to achieve it. The branch location must be a line 
number (1-999) and not a variable. 
GOTO nnn or GOSUB nnn, RETURN 
As with the compare statement, nnn must be 
a line number (1-999) and not a variable name. 

A = PEEK(B) or POKE A,B 

In both examples, A and B must be variable 
names. The value to be POKEd must be in the 
range 0-255. 

That's ail for now, folks! 

I hope the Speed Demo program has convinced you 
of Minicomp's main attribute— speed. In future arti- 
cles, I'll present full length, arcade-style games which 
were written with Minicomp's statement set, so that 
you'll be able to key-in and compile them to machine 
language. D 



Listing L 

4 GRAPHICS e:FOR 0=1600 TO 1614: READ B 
:POKE A,B:? "96*";:MEXT A:C=USR(16ee) 

5 DATA 169,96,141,232,2,169,0,141,231, 
2,133,8,76,0,160 



Listing 2. 

1000 CLR : GRAPHICS 0:K1300=130e:K1400= 

1400 : K75e0=75ee : K1450=145e : K8310=8310 : 

K8315=8315 : K8320=832e : B=12288 

1010 A=PEEKC13e)+256«PEEKC137) :C=0:D=1 

640 : L1=PEEK C88} +25e«PEEK (893 +40 : DIM R C 

3}:R(e}=Ll:P0KE 752, l 

1100 K=PEEK(A} :K1=PEEKCA+1) :P0KE Ll+C, 

K SPOKE L1+C+1,K1:IF PEEK CLl+C-lJ OKI T 

HEN R(K1)=L1+C 

1182 LM=K+K1*256;I F LM>999 THEM 1500 

1105 POKE 85,0;? " l!U;»iIil!l-J ";B;"S "JLH 

I ii^ii • jllj IQ^2) +J. ■ " w • 

illo'POKE L1+C+460,B-IMTCB/256J»256:P0 

KE Ll+C+461,IMTfB/256> sC=C+2!A=A+3 

1200 GOSUB K1300:IF £=20 THEN A=A+1:G0 

TO 1200 

1210 IF E=22 THEN A=A-»1:G0T0 1100 

1220 IF E=54 THEN GOSUB 3000 



1230 IF E=21 OR E=36 THEN P=96: GOSUB K 

1400 

1240 IF E=7 THEN GOSUB 4000 

i25®,5f..S=i® THEN GOSUB K1300: GOSUB Kl 

300: GOSUB 8500: GOSUB 8360 

1260 IF 1=12 THEN GOSUB KISOO: GOSUB Kl 

300: GOSUB 8500 :P=32: GOSUB K14e0: GOSUB 

8365 

1270 IF E=31 THEN GOSUB 6000 

1290 GOTO 1200 

1322 S=S+AiE=PEEKfAJ; RETURN 

1400 POKE B,P:B=B+l:RETURN 

1450 M=F+F*D : Y=INT f N/256) : X=M-V»256 : RE 

1500 POKE 77,0:P0KE 85,32:? "WBESSEKT"; 
SFOR J=12288 TO B : Z=PEEK CJ) : IF Z<>76 A 
HO Z<>32 THEN NEKT J:GOTO 1610 
GOTO 5^=P"*«*J+2>:IF Kl>3 THEN NEXT J: 

1550 K=PEEKfJ+l) :FOR I=RCK1) TO C+Ll-1 
STEP 2: IF PEEK CIS <>K THEN NEXT I: NEXT 
J: GOTO 1610 
1560 IF PEEK CI+1) OKI THEN NEXT I: NEXT 

J: GOTO 1610 
1579 POKE 85,26:? J; : POKE J+l,PEEKCI+4 
60) : POKE J+2 , PEEK CI+4613 : J= J+2JHEXTJ 
1610 POKE 752,0: POKE 85,32:? ■■ ■tUillj;! " 

1620 IF PEEKC764)<>12 THEN 1620 

2120 POKE 12287, 104 :X=USR (12287): END 

3000 GOSUB K1300: GOSUB K7500: GOSUB K13 

00: IF E045 THEN 8020 

3020 GOSUB K1300:IF E=14 THEN 3200 

3030 IF E=70 THEN 3400 

3050 G=F: GOSUB K7500:H=PEEKCA+1) :IF H= 

22 OR H=20 THEN 3300 

3070 GOTO 3600 

3200 GOSUB K1300: GOSUB 8500: GOSUB K145 

0:Z=L: GOSUB 8300: GOSUB K8310 

3230 Z=H: GOSUB 8300 : X=X+1 : GOTO K8310 

3300 H=F: GOSUB K145e: GOSUB K8320:F=G:G 

OSUB K1450: GOSUB K8310 

3330 F=H: GOSUB K1450 :X=X+1 : GOSUB K8328 

:F=G: GOSUB K1450:X=X+l:G0T0 K83ie 
3400 G=F:A=A+l: GOSUB K1300: GOSUB K75e0 

:H=F:A=A+1 

3410 P=162: GOSUB K14eO:P=0: GOSUB K1400 

:F=H: GOSUB 8600 

3420 P=161: GOSUB K1400:P=203: GOSUB K14 

00 

3440 F=G: GOSUB K1450: GOSUB K8310:Z=0:G 

OSUB 8300 :X=X+l: GOTO K8310 

3600 H=F: GOSUB K13eO:Z=E: GOSUB K1300:G 

OSUB K7500:I=F:IF Z=38 THEN 3700 

3608 IF Z037 THEN 8020 

3610 P=24: GOSUB K1400:F=I: GOSUB K1450: 

GOSUB K8320:F=H: GOSUB K145e :P=ie9 :GOSU 

B K8315 

3630 F=G:GOSUB K1450:G0SUB K8310:F=I:G 

OSUB K1450:X=X+l: GOSUB K8320 

3640 F=H: GOSUB K1450:X=X+1:P=109: GOSUB 

K8315:F=G: GOSUB K1450:X=X+1:G0T0 K831 


3700 P=56: GOSUB K140e:F=H: GOSUB K1450: 
GOSUB K8320:F=I:G0SUB K1450 :P=237 : GOSU 
B K8315 

3720 F=G:GOSUB K1450:G0SUB K8310:F=H:G 
OSUB K1450:X=X+1: GOSUB K8320 
3730 F=I: GOSUB K1450 : X=X+1 :P=237: GOSUB 

K8315:F=G: GOSUB K1450:X=X+1:G0T0 K831 

4800 GOSUB K1300: GOSUB K75eO:G=F : GOSUB 

K1300:T=E 
4010 GOSUB K13e0: GOSUB K75e0 :H=F : GOSUB 

K13eO:IF E027 THEM 8020 
4030 GOSUB K1300: GOSUB K13e0: GOSUB 850 
0:IF T=32 THEN 4200 
4042 IF T034 THEN 8020 
4050 J=208:K=J 

4100 F=G: GOSUB K1450: X=X+1 : GOSUB K8320 
:F=H: GOSUB K1450:X=X+l:P=2e5: GOSUB K83 
15: IF J=208 THEN 4128 

4115 P=240: GOSUB K14e0 : P=5 : GOSUB K14e0 
:P=144:G0SUB K1400:P=11: GOSUB K14ee:P= 
24: GOSUB K1400 

4120 P=K: GOSUB K1400 :P=11 : GOSUB K1400: 
F=G: GOSUB K1450: GOSUB K8320 




The Most Fun You' II Have With Your Printer 



MegaFont II 

The Complete Program Lister and Graphics Dumper 
by Richard Rognlie and Randy Dellinger 

". . . dandiest program lister. . ."Creative Computing 

Dump your Graphics 7+ and 8 screens (created with MicroPainter, 
Koalapad, etc.) to your printer in quarter, halfor full page size. ListALL 
control and inverse characters in any of 1 1 fonts provided. Or use any 
character set editor to create your own fonts. New Features: Type 
directly to printer, change line spacing on listed files, 2 new fonts. For 
use with NEC, Prowriter Epson W/Graftrax or compatible printers. 
Please specify printer 
48K disk Only $24.95 



The Ultimate Atari Database Manager 



MegaFiler 

by Jerry Kwlt (Mode Mixer 2) 

User Friendly — Powerful — Menu Driven 

MegaFiler is the most powerful system for keeping records your Atari 
computer has ever seen. It will allow you to store data on multiple 
disks, define formulas, modify database records, add or delete fields, 
and modify field lengths. Features Report and Label Generation. This 
database system compares with databases (costing hundreds of 
dollars) running on other computers. 
48K disk Only $29.95 



Improve Your Math Skills With 



.OMPUTER 

by Johnny Masuda 

ISSISTED 32K disk or tape Only $19.95 

(ATH "• ■ • can easily compete with the high- 

priced spreads ..." 

Creative Computing 



'ROGRAM 



Create Your Own Game Screens With 



Mode Mixer 1 & 2 



by Margie Bliss and Jerry Kwit 



48K disk 



Only $19.95 



Add $2.00 for shipping and fiandllng. C.O.D. orders please add SI. 55 more 
Virginia residents add 4% sales tax. Send checl< or money order to: 




XLEIMT Software 

P.O. Box 5228 

Dept. B 

Springfield, VA22150 

24 Hour Order Phone: (703) 644-3881 

Dealer Inquiries Welcome 

CIRCLE #115 ON READER SERVICE CARD 



4148 F=H:G05UB K145e:P=285:G05UB K8315 

:P=J:G05UB K14ee:P=3:G05UB K14ee:G0T0 

8360 

4288 J=176:K=144:GQT0 4100 

6888 GOSUB K13e8:G05UB K750e:G=F:a=ft+l 

:GOSUB K1388: GOSUB K75e8:H=F 

6818 P=ie2: GOSUB K1488:P=8: GOSUB K1488 

:F=H: GOSUB K1450: GOSUB K8328 

6838 P=168: GOSUB K148e:F=G: GOSUB 8688: 

P=1S2: GOSUB K1488:P=129: GOSUB K148e:P= 

283: GOTO K1488 

7588 IF E>127 AND E<201 THEN F=E-127:R 

ETURN 

8828 POKE 85,28:? " ■i;l;lil;M ";PEEK(L1+C 

-2J +PEEK CL1+C-1J«256 : END 

8380 P=169: GOSUB K1488:P=Z:G8T0 K1488 

8318 P=141 

8315 GOSUB K1488:P=X: GOSUB K1488:P=Y:G 

OTO K1488 

8328 P=173:G0T0 K8315 

8360 P=76: GOSUB K1488 

8365 P=L:GOSUB K14e8:P=M:G0T0 K148e 

8588 A=A+l: GOSUB 8598 : U=Z :A=A+1: GOSUB 

8598 :V=Z:A=A4^1: GOSUB 859e:H=Z:Z=U:IF E 

=65 THEN Z=U«188+V 

8528 IF E=66 THEN Z=U«188884V«ie84H 

8548 H=INTCZ/256) :L=Z-M»256 : RETURN 

8598 K=INT CPEEK CA) /16J : Y=PEEK CA) -X»16 : 

Z^M^lB'i'Y : RETURN 

8688 GOSUB K145e: GOSUB K832e:P=133:G0S 

UB K1488:P=283: GOSUB K14e8 

8618 K=X+1: GOSUB K832e :P=133 : GOSUB K14 

88:P=284:G0T0 K1488 



CHECKSUM DATA. 

(see page 25) 

1888 DATA 978,451,35,371,792,458,458,1 

6,718,172,335,916,984,712,713,8885 

1388 DATA 880,664,837,52,812,277,336,9 

54,683,881,613,939,275,861,252,9236 

3878 DATA 719,377,742,794,98,51,498,18 

,387,78,674,384,685,838,399,6582 

3728 DATA 686,844,75,777,931,638,747,4 

48,186,281,59,72,253,318,958,7817 

7580 DATA 389,274,819,478,8,784,771,52 

7,148,214,419,988,927,51,6629 



Listing 3. 



5 Z=8:H=1 

18 C=89 :B=PEEK CO :A=256: GOSUB 908 

28 DS=C : C=88 : B=PEEK CC3 : DS=DS+B 

180 P=H: 0=255: £=968 :E=E+DS 

110 A=DS 

128 POKE A,P:A=A+M:IF A<E THEN 128 

138 P=P+M:IF P<0 THEN 118 

140 END 

988 C=Z:D=Z:IF B=Z THEN 984 

982 C=C+A:D=D+H:IF D<B THEN 982 

984 RETURN 

999 END 



CHECKSUM DATA. 

(see page 25) 

5 DATA 332,317,3,356,153,421,481,38,78 
9,17,681,78,3426 



ISSUE 23 



ANALOG COMPUTING 



PAGE 33 




Creator/Animator 



16K Cassette or 24K Disk 



by Scott Sheck 



Using player/missile graphics in your game can add 
extra smooth action and color, giving it a more pro- 
fessional look, but first you must be able to imple- 
ment it. This can easily be accomplished using a 
pre-written P/M subroutine, namely Tom Hudson's 
P/M mover machine language subroutine (ANALOG 
issue 10). Everything you need to quickly move play- 
ers around on-screen is contained in this subroutine! 
However, I found that you'll need to design your own 
player's shape, size and color. I don't like the idea of 
using graph paper and colored pencils, and, besides, 
it's really hard to get a feel for how the player will 
actually look on the screen. That's why I present to 
you my Player Creator & Animator. 



How to use it. 

After typing in the program, save it before running 
PC&A. Since the program contains some machine 
language routines, any mistake in typing these rou- 
tines can result in your computer's locking up (which 
does no damage to the computer, just your schedule). 

When you get the program running, you should see 
a flashing cursor on a grid of dots. This grid is where 
you will be designing your player shapes. The joystick 
is used to move the cursor around, and the fire but- 
ton, when pressed, will plot a white square both on 
the grid and at the middle of the screen, where the 
player's actual size, shape and color is displayed. To 
erase a white square, press the fire button again. To 










OP-O-OW^ 



( 





CASADAPTER 

THE ORIGINAL CASSETTE INTERFACE... 



Allows you to use your own cassette recorder or 
stereo for loading and saving of programs. It makes 
your own home stereo or portable cassette player act 
just like an Atari 410 or 1010 recorder 
CASADAPTER gives you motor 
control, audio, and data channels. 
The CASADAPTER plugs directly 
into the computer and requires 
no other interfaces. An L.E.D. 
shows the transfer of all data. 
CASADAPTER will work with all 
of the Atari brand computers. 



'^39.95 




Add $2.50 shipping 

Send check or money order 

COD, accepted 

New York State Residents add 7% tax 

'"'Atari is a trademark of Atari, Inc. 




COMPUTER PRODUCTS 



12 Scamridge Curve 
Williamsville, New York 14221 
(716) 632-3441 



CIRCLE #116 ON READER SERVICE CARD 



ISSUE 23 



ANALOG COMPUTING 



PAGE 35 



draw a continuous line, hold the fire button down, 
then move the joystick. 

By looking either at the green letters above the grid 
or at the position of the orange square at the center 
of the screen, you can always tell which player is cur- 
rently being edited. Up to three different players can 
be edited at a time. 

You'll notice that the attributes of each player are 
displayed in the center white box. To change any of 
these attributes, move the cursor off the left or right 
side of the grid. This will place the flashing cursor 
at the top of the command list. 

The cursor can be moved back and forth freely be- 
tween the command list and the grid. T) choose a 
command, position the cursor over the desired com- 
mand, then press the joystick's fire button. Depend- 
ing on which command you choose, either a "busy" 
message will appear, telling you that your command 
is being processed, or a message prompting you for 
your input will be displayed. You can either respond 
to the message (usually using keyboard input) or can- 
cel the command by moving your joystick in any 
direction. 

Command descriptions. 

EDIT: Selects a single player to be edited and 
displays it by itself. The flashing cursor is then 
positioned on the grid. 

M-EDIT: Allows you to display one to three 
players together. Move the arrow over the player 
in the center of the screen by pushing the joy- 
stick right. To display a player, press the fire but- 
ton after the arrow has been positioned. That 
player will then be displayed, and a small white 
circle will appear above that player's number, let- 
ting you know that it's being displayed below. 
That player will then be placed on the grid for 
you to edit. 

WIDTH: Changes width of player being edited 
to normal (2), double (1) or quadruple (3) width. 

RESOL: Switches all players between single- 
line (62) and double-line (96) resolution. 

COLOR: Changes color of player being edited. 
Use the keyboard to enter a color number be- 
tween and 255, then press RETURN. 

LUMIN: Changes luminance of player being 
edited. Notice color value gets changed. 

COLOR [B]: Changes color of background. 
Use the keyboard to enter a color number be- 
tween and 255, then press RETURN. 

LUMIN [B]: Changes luminance of the back- 
ground. Notice color value gets changed. 

INVERT: Flips player being edited upside- 
down. 

SCROLL ■>• : Scrolls player being edited right. 

SCROLL <■ : Scrolls player being edited left. 

SCROLL •i'-. Scrolls player being edited down. 

SCROLL '^: Scrolls player being edited up. 



INVERSE: Reverses player image being edited 
as inverse video. 

ERASE: Erases player being edited. Press any 
key to confirm. Move joystick to cancel. 

LOAD DATA: Loads data of all three players 
from tape. It will replace any currently existing 
data with the data loaded in. You can be in ei- 
ther resolution mode when loading or saving 
data. Press the PLAY button, then any key on 
the keyboard to begin loading. 

SAVE DATA: Saves data of all three players 
to tape. You can be in either resolution mode 
when saving or loading data. Press the PLAY and 
RECORD buttons, then any key on the keyboard 
to begin saving. 

POKE DATA: Allows you to poke your own 
player data into the grid. Use the keyboard to 
enter a data number from to 255. Move the 
joystick to exit. 

HARDCOPY: Prints out information about all 
three players. Turn on your printer, then press 
any key on the keyboard to begin printing. 

ANIMATE: Shows animation using all three 
players. 

(continued on page 36) 



DISK WIZARD n 



THE MOST COMPLETE UTILITY PACKAGE 
FOR ATARI* COMPUTERS AT ANY PRICE 

100 % MACHINE LANGUAGE • SINGLE LOAD • MENU DRIVEN 

THIS USER FRIENDLY PACKAGE INCLUDES THE FOLLOWING POWERFUL 
PROGRAMS FOR THE ATARI* 400/800/XL SERIES COMPUTERS (40K REQUIRED) 

DISK BACK-UP— SINGLE/DOUBLE DENSITY • SUPPORTS 1 OR 2 DRIVES 
" ALLOWS BACKUP OF DISKS PROTECTED BY BAD SECTORING • FAST 
COPY OPTION • SECTOR STATUS SUMMARY • OPTIONAL PRINTOUT OF 
SECTOR STATUS • DISK MAPPING 

DISK EDIT — SINGLE/DOUBLE DENSITY* DISPLAY/MODIFY/PRINT ANY 
SECTOR • SECTOR DISPLAYED IN HEX ASCII/ATASCM • WORKS WITH 
ANY FORMAT • SCAN SECTORS FOR A SERIES OF BYTES OR A STRING 
• DISPLAY/PRINT DIRECTORY • TRACE/REPAIR FILE LINKS • RECOVER 
AND AUTOMATICALLY VERIFY DELETED FILES • FORMAT DISKS WITH 
AUTOMATIC LOCK OUT OF BAD SECTORS • DECIMAL/HEX NUMBER 
CONVERSION 

DISASSEMBLER — single/double density • disassemble from 

DISK BY SECTOR NUMBERS • DISASSEMBLE COMPOUND BINARY F ILES 
BY FILE NAME • OUTPUT TO SCREEN OR PRINTER • SELECTABLE 
MNEMONIC DISASSEMBLY WITH OVER 400 STANDARD ATARI MEMORY 
LOCATION NAMES 



DISK SPEED - 



VERIFIES/ALLOWS ADJUSTMENT OF DISK SPEED 
SECTORING (810 ONLY) 



BAD 



INCLUDES COMPREHENSIVE MANUAL WITH MANY USAGE EXAMPLES 



ORDERING INFORMATION 

For fast delivery, send certified 
check Of money order. 
MASTERCARD & VISA accepied. 
(N.y. Residents add 7% sales tax)" 
Pfione orders accepted on C.O.D. 
and charges. 



'ATARI is a registered Trademark of Atari, Inc. 



$29- /^^^ 



SOFTWARE, INC. 

too QUARTZ WAY 
SYRACUSE, N.Y. 13219 

ORDERS TOLL FREE 
1-800-732-0320 

Info, and N.Y. Residents 
1-315-488-0485 



CIRCLE #117 ON READER SERVICE CARD 



PAGE 36 



ANALOG COMPUTING 



ISSUE 23 



Move the joystick: 

RIGHT - To exit. 

LEFT — To reordet the animation sequence. 
The sequence is displayed at the bottom of the 
screen. 

DOWN — To slow down the animation. 

UP — lb speed up the animation. 

If an error occurs during the program (which 
shouldn't happen), you can always recover by press- 
ing SYSTEM RESET, then typing RUN. The only way 
the player images can be lost is by using the ERASE 
command or by turning off the computer. 

Multi-color players. 

When two players overlap, namely players and 1 
or 2 and 3 , a third color can be generated in the over- 
lapping region. This is achieved by turning on what's 
called the "multi-color enable bit." In my program, 
press the OPTION key to turn this enable on or off. 
Note that this works only when overlapping players 

and 1 in my program. Since I use player 3 for the 
background, it is removed if you decide to turn on 
the multi-color enable, leaving you with only a black 
background. 

A tip. 

While writing this program, I discovered a neat little 
trick that has to do with using the INPUT command. 
As you know, executing an INPUT command halts 
the program until the user presses the RETURN key. 
Since I wanted the joystick to handle practically every- 
thing, I needed a way for the user to be able to abort 
an input prompt (such as asking for a color number), 
using the joystick. The solution I came up with can 
be seen in Lines 2637 and 2646-2649. If a key is 
pressed, then the INPUT command is executed. If 
the joystick is moved, then the INPUT command is 
not executed. 

Now, go forth and create! D 

BASIC listing. 

1 REH WKICIIItKlllCKKICKltlCKltmtllKICKItK 

2 REH « P/M CREATOR/ANIIMTOR « 

3 REH « BY SCOTT SHECK * 

4 REH » ANALOG COMPUTING « 

5 REH MKKKKKKMWKKKKMKKKKMMKMMM 

28 605UB 260 69; GOTO 2108 

149 REM a^ 

156 PLEI>IT=CPLEDIT+C1)«(PLEDIT<C2] 

152 FOR P=CZ TO C2:P0KE 53248+P,CZ:NEX 
T P:P05ITI0N 12, C2:? " "; 

153 G05UB 2635: COLOR 20: PLOT 12HhPLEDIT 
«C4,C2:P0KE 53252, 96tPLEDIT«ie 

155 G05UB 2642:}(=27:Y=C1 

160 POKE S3248+PLEDIT,114:IF A5CCHIDTH 

$tPLE0IT+ClJ}=C3 THEN POKE 53248+PLEOI 

T,104 

175 RETU RN 

199 REH UflMiUU 

286 MP=12:G0SUB C2648:? " right - TO 5 

ELECT button - TO DISPLAY" 

262 COLOR 29: PLOT XP,C1 

263 A=C2>^;2:IF STRIGfCZ)=CZ THEN PLEDI 
T=CKP-12}/C4:G0SIJB 153: GOTO 218 

285 IF STICK CCZ)<>7 THEN 283 

218 COLOR 32: PLOT KP,C1:IF XP=:2e THEN 

RETURN 



215 
249 



MP 
REM 



!WM 



GOTO 262 



> i t- 

256 NUM=CNUH<C3)«ASC CHIDTH$ CPLEDIT+Cl) 
J+Cl 

254 HIDTH$ CPLEDIT+Cl , PLEDIT+Cl) =CHR$ (N 

urn 

255 Z=S3256+PLEDIT:R0H=5:G0SUB 415:G0S 
UB 166 

266 RETU RN 

299 REM IHSini 

368 FOR ArCZ TO C2:TCAI=PfA) INEKT A 

362 IF RES=46 THEN GOSUB 21226: GOTO 36 
7 

363 GOSUB 21256 

367 POSITION 12,6:? RES, RES, RES 

316 FOR ArCZ TO C2:Z=T CA) :FOR M=C1 TO 

22 

315 POKE P CAI+M, PEEK CZ+H): POKE Z+M,CZ 

326 NEXT M:NEXT A: GOSUB 2635 

344 RETURN 

349 REH mim 

356 GOSUB 2637 

351 IF NUM<256 THEN Z=784+PLEDIT:R0H=7 
; GOSUB 415 
378 RETU RN 
399 REM ODBEE) 

488 Z=784-»PLEDIT : R0M=7 : A=PEEK CZ) /15 : IF 
AOINTCA) or A=CZ THEN NUH=PEEKCZ)*C1 
:GOTO 415 

416 NUH=PEEKCZ}-14 

415 POKE Z,NUH: POSITION 13HI^PLEDIT«C4,R 
OM:? " l±t!liNUM: RETURN 

449 REM arao^Dia 

450 GOSUB 2637: IF NUH<256 THEN POKE C7 

07, HUM: GOSUB 515 

466 RETURN 

499 REH ODCEOm] 

588 A=PEEKCC787)/15:IF AOINTCA) OR A= 

CZ THEN POKE C787, PEEK tC787)-»Cl: GOTO 5 

15 

518 POKE C787,PEEKCC767}-14 

515 POSITION 12,9;? " «•♦*"; PEEK CC7e7J 

;: RETURN 

558 A=USRCAI>RCM1$)}: RETURN :REM INVERT 
A=USRCADRCM2fJ):RETURN : REM RIGHT 
A=USR (ADR CM3S)}: RETURN : REM LEFT 
A=USR (ADR (M4$}): RETURN :REM DOHN 
A=USR (ADR (M5S)): RETURN ; REH UP 
A=USR (ADR (H6$l): RETURN :REHINVERS 



668 

658 

788 

758 

888 

E 

858 

$)} 

899 

988 



G6SUB 2648: GOSUB 2645 :A=USR (ADR (M7 
RETURN: REH ERASE 
REH [EEH V" 

GOSUB C2648:? " PRESS play,":GOSU 
B 2645: GOSUB C264e;? " LOADING DATA.. 

II 

984 REH ISSEM 985 0PENttCl,C4,CZ,"D:FIL 
ENANE.EXT" 

985 POKE 764, 63: OPEN ttCl,C4,CZ,"C:" 
918 INPUT ttCl,HIDTH$:GET ttCl,Z:POKE C7 
87, Z: GOSUB 515 

913 FOR PLEDIT=CZ TO C2:GET ttCl,NUH:GO 

SUB 351;A=P(PLEDIT] 

928 FOR NUH=C1 TO C22:GET ttCl,Z:POKE A 

't'NUH Z:NEXT NUH 

925 NUH=ASC(HIDTH$(PLEDIT4^C1)): GOSUB 2 

55 

938 NEXT PLEDIT 

931 PLEDIT=CZ: GOSUB 152: CLOSE ttCl 

933 RET URN ^ 

949 REH EEEB \r 

958 GOSUB C2648:? " PRESS play & rec , 

": GOSUB 2645: GOSUB C2648:? " SAVING D 

ATA.. ." 

951 REH \aaam 955 6PENttCl,8,CZ,"D:FILE 

NAHE . EXT" : ?ttCl ; HIDTH$ : PUTttCl , PEEK (704) 

955 POKE 764. 63: OPEN ltCl,8,CZ,"C :";PRI 

NT nCl;HIDTH$:PUT ttCl,PEEK(C7e7) 

966 FOR I=CZ TO C2:PUT nCl, PEEK (784+1) 

:A=P(I) 

977 FOR NUM=C1 TO C22;PUT ttCl,PEEK(A+N 

UH) : NEXT NUH 

983 NEXT jyCLOSEttCl: RETURN 

999 REH UJaJU-liJI 

1880 FOR C0L=C1 TO C22 

1885 TRAP 1885: GOSUB €2648:? " data 

"; COL ;"?<•"{: GOSUB 2646:INPUT NUH 



ISSUE 23 



ANALOG COMPUTING 



PAGE 37 



1818 TEMP=PfPLEDITJ+C8L:S0SUB 2688 :P05 
ITION 27, COL 

1811 Z=128:F0R P=CZ TO 7: IF NUM<Z THEM 
? ".";:SpTO 1813 

1812 ? "■•'; :NUH=NUM-Z 

1813 Z=Z/C2:IIEXT P:G05UB 2644: NEXT COL 
1815 RETURN / 

1849 REH l!HJiWilJj/ 

1858 GOSUB C2648:? " READY PRINTER" :G 

OSUB 2645: CLOSE ttCllTRAP 1858: OPEN ttCl 

ft O lip a II 

1856'? ttCl:? ttCl;"BGRND COLOR=";PEEKCC 

787J 

1858 ? ttCl;"POKE 559,"; RES 

1868 FOR Z=CZ TO C2:? ttCl:? ttCl;"PLAYE 

R ";z:? ttci;"POKE ";C787+Z;",";peekcc7 

87+ZJ;":REM COLOR" 

1865 ? ttCl;"POKE ";53256+Z;",";ASCfHID 

th$cz+ci)),'":reh hidth" 

1867 ? tlCl;"DATA "; ;FOH P=PfZ> TO PCZJ 
♦C22:? ttCl;PEEKCP);:IF P<>PCZ}4^C22 THE 
N ? ttCl;",";:NEXT P 
1875 NEXT Z:? «C1: CLOSE ttCl 

1895 RETURN 

1899 REH aSEJSE 

1188 GOSUB C2648:? "dOWl-SLOH SEQ.-lef 

t up-FAST STOP-rt." 

1185 H^CZ 

1118 POKE 53248+0RDCKI,114 

1114 S=STICKICZJ:IF S=13 THEN D=D+C1 

1116 IF S=7 THEN GOSUB 2636: GOSUB 2641 

:GOTO 931 

1118 IF S=ll THEN GOSUB 1148 

1128 IF S=14 THEN D=CD-Cl)«fD>CZ) 

1124 FOR P=C1 TO D:NEXT P:POKE 53248+0 

RDCNJ,CZ:N=CH+C1}«CN<C2] 

1135 GOTO 1118 

1148 FOR A=CZ TO C2 

1141 GOSUB C2648:? " frane ";a+ci;" C8 
-2J";;iNPUT Z:IF z>C2 then 1141 

1142 ORDfA)=Z: POSITION ie+C2«A,C22:? Z 

2888 JX=X:JV=V: LOCATE JX, JY,CH;I=128 

2882 CH=CH*I:? "*";CHRSfCHJ ; :I=-I 

2883 IF PEEK €53279) <>3 THEN 2885 

2884 TEI«P=PEEKC288):P0KE 288, CTEHP=e}« 
32:P0KE 53251, CTEHP<>CZ)«188:P0KE 5325 
5, fTEra><>CZ)«ie8 

2885 TR=STRIGCCZ):IF STICK fCZI =15 AND 
TR THEN A=C2AC2:G0T0 2882 

2889 IF KCZ AND CTR OR X=C1) THEN 288 
2 

2818 S=STICK CCZ) : X= JX+ CS=7 J - CS=11) : Y= J 
V+CS=13J-CS=14) 

2815 RETURN 

2899 REH 93339 

2188 IF X>34 OR X<27 THEN X=C1:Y=C3:TN 

=43: GOSUB 2644: GOSUB 2685 

2118 IF Y=CZ THEN Y=C22 

2115 IF Y=23 THEN Y=C1 

2128 GOSUB 2888 

2125 IF NOT TR THEN GOSUB 2588 

2138 GOTO 2188 

2499 REH 

2588 NUH=ASCCBITSC35-JX}) :COL=JY 

2518 CH$="i":IF ASCCCH$)=CH-128»CI<CZ) 

THEN CH$=".":NUH=-NUH 
2528 ? "+";CH$;:TEf«>=PCPLEDIT)+COL:NUH 
=NUH+PEEKfTEW>): GOSUB 2688 
2538 IF STRIGCCZ)=CZ AND STICKCCZ)=15 
THEN 2538 
2531 GOSUB 2818 
2548 RETURN 
2599 REH 

2688 POKE TEIff>,NUH 
2681 POSITION 37, COL:? " ***";NUH;:RE 
TURN 

2685 REH sicsians 

2686 GOSUB 2888: IF STRIGCCZ)=C1 THEN 2 
614 

2687 TN=28: GOSUB 2644: TRAP 931: IF JV=C 
3 OR JV=6 OR JY>18 AND JY<18 THEN GOSU 
B 2641 

2618 GOSUB JY«58:IF JY>18 AND JY<18 TH 
EM GOSUB 2642 
2612 GOSUB 2636 



2614 IF XOCl THEN X=27+7KCX<C1} :TN=43 
: GOSUB 2644: RETURN »ANi,ij.iii 4j 

2616 IF Y=C2 THEN Y=C22 

2618 IF Y=23 THEN Y=C3 

2619 GOTO 2685 

2638 REH Mli;MilH*i?lg 

2637 GOSUB C264e:? " COLOR C8-255) 94-" 

;:G0SUB 2646:INPUT nuh:return 

2648 POSITION CZ,CZ:? " 

CZ: RETURN ■■: POSITION CZ, 

2641 POSITION 7,CZ;? "ia!5!>|": RETURN 

2642 A=USRC1608):Z=PCPL»IT) 

2643 FOR C0L=C1 TO C22: SOUND CZ,11+C0L 
, 18 , 11 : NUH=PEEK f Z+COL) : GOSUB 2681TnEXT 

col: SOUND CZ,CZ,CZ,CZ: RETURN 

2644 FOR Z=15 TO CZ STEP -C2: SOUND CZ, 
TN,18,Z:NEXT Z: SOUND CZ,CZ,CZ,CZ?RETuii 

ESSFi?*! £22, CZ:? "PRESS anv key" 

"ORE 764,255 

IF STICKCCZJ015 THEN POP :GOTO 2 



2645 

2646 

2647 

612 

2648 

2649 



IF PEEK C764) =255 THEN 2647 

RETURN 

19999 REH fc*iilJ 

ntti : SK"jsa4!i^i=''"'^ «^" ^-""^ *^" 

28882 POKE 288,8 

28883 POKE 281,18:? It6,,,," plajte 
r"," cr eator < aniwator".." i-'ajt* 



5C0TT SHECK 
DLI 



FIRE BUTTON PRESSED 



UPDATE CHART S PLAYER 



-A 



28804 REH 

28885 F8R X=1536 TO 1543:READ A:POKE X 
*J!HEXT X:DATA 72,165,288,141,27,288,1 

28886 PeKE 623,16:P0KE S12,CZ:P0KE 513 

28887 REH IdilJiiNMiAm 

28888 FOR X=252 TO 112 STEP -CI: SOUND 

Sf'St^SS'Si'"'**'**^ z+C4,x:next x:sound 

_„CZ , CZ , CZ , C Z 

28809 REH fflHMB f^^i * H ' ^J^ 

28818 FeR K=C1 TO Tl'READ A: POKE 1599+ 

26811 DATA 184,168,22,132,84,162,27,13 
*A®fd*1'?fi^?I'®'^'''2,162,8,134,4,38 
,2,176, 4, 169,46 

S'^^LS^lS 288,2,169,168,32,164,246,19 
8,4,288,239,198,84,288,221,96 

28813 DIH^ORD C2i , Bill C8) , CH5 CI J , P t2> , T 
,"i4K?I?*Hl ' •'ILL* 119) , Hl$ C39) H2I Ci2 
) , H3S C12) , H4$ C13) , H5$ CIS) , H6$ C13) 

28814 DIH H7$C11):F0R X=l TO 39: READ N 

:hiIcx)=chr$cn):next x:for x=i to 12 :r 

EAD N:H2$CX}=CHRSCN):NEXT X 
?S?*5=E5"„'*^i„TO 12: READ N:H3$CX)=CHR$ 
CN):NEXT X:F0R X=1 to 13: read N:H4$CX) 

=chr$cn):next x 

28816 for X=1 to 15: READ N:I«5$CX)=CHR$ 
"hrSchLneXtV"^ " "■"""* N:H6«CX) 
?S?*2=C?"«'*^i„T2 ":READ n:H7$cx)=chr$ 

i?y!!KlN?iE?5TV " ""^""^ "'"»^'-** 

?2fl2irE9"„'*=^ ^** 8: READ N:BIT$CX)=CHR$ 

28819 REH fil»CTi 

28828 GRAPHICS CZ :X=PEEKC568)+25e«PEEK 

C561) 

28825 POKE X+C3,78:P0KE X+6,6:P0KE X+1 

2, 138: POKE 54286,192 

28899 REH QB? 

28188 X=PEEKCJ 

SE=256«X 

28185 GOSUB 21258:P0KE 53277, C3 

28118 FOR X=CZ TO C2:0RDCX)=X:P0KE 532 

56+X , CZ : WIDTHS CX+Cl , X+Cl) =CHR$ CC2) : POK 

E 784+X 191: NEXT X 

i*ii5^5°5l 53251, 188: POKE C787,188:P0K 
E 53259, C3 



(186) -16: POKE 54279, X:PNBA 



PAGE 38 



ANALOG COMPUTING 



ISSUE 23 



28122 ArUSR f ADR CFILL$) , PHBA5E+44e ,37,1 

92}:P0KE 53255,106: POKE 53260.195 

20124 A=U5RCADRCFILL$) ,PI«ASEf 1916,74, 

255} 

20130 A=U5R f ADR f FILL$} , PNBASE4^416 , C3 , C 

3): POKE 53 252,96 

20699 REH Hiidalii;i 

20700 POKE 708, 24: POKE 712, 144: POKE 71 
0,C2:P0KE 752, CI : POKE 82,11: POKE 83,23 
: POSITION 11, C2 

20701 ? " PO PI P2 I H2 
2 2 H| 46 46 46 H191 191 19l|'«- 

20704 POKE 82, CI : POKE 83, 9: POSITION CI 
,C1 

20705 ? "SQESIXE^EOIT H-EDIT H 
IDTH RESOt. ^OLOR LUNIN. COL 
OR[B]=LUHINCBJ INVERT SCROLL \*" 
20710 ? "SCROLL i* SCROLL i* SCROLL if 

INVERSE ERASE LOAD DATASAVE DATAP 

OKE DATAHARDCOPY" 

20713 POKE 83,39:? "ANIMATE 10-1-21"; 
20720 COLOR 149:PL0T 13,10:DRAIIT0 23,1 
0:C0L0R 21:PL0T 13,20:DRAHT0 24,20 

20725 COLOR 160:PL0T 25,C22:DRAHT0 25, 
CI : PLOT 11,10:DRAWT0 11, 20: PLOT 24,20: 
DRAHTO 24, 10: PLOT 12,18:DRAHT0 12,20 

20726 PLOT 13, 20: PLOT 23, 10: COLOR 153: 
PLOT 23,ll:DRAHT0 23,19:C0L0R 140:PL0T 

23,20:G0SUB 515:G0SUB 931: POKE 201, C4 
21000 GOSU B 2636: RETURN 

21219 REH M;H:MaM;l«iHH*M:i 

21220 P=CZ : RES=62 : P CCZ J =PHBASE+1164 : P C 
CI) =PmASE+1420 : P CC2) =PMBASE+1676 : GOSU 
B 21260: REN SINGLE 62 

21241 Z= f P<>255J*192 : A=USR f ADR CFILL$) , 

PMBASE«892,74,Z) 

21244 A=USR CADR CFILL$) , PNBASE+832 , 6 , C3 

«{Z=192)) :POKE 559, RES: RETURN 

21250 P=255 : RES=46 : P CCZ) =PNBASE4582 : P C 

CI) =PMBASE+7ie : P CC2) =PHBASE4838 : GOSUB 

21241: REH DOUBLE-46 

21260 A=USRCADRCFILL$) ,PI«ASEHK958,37,P 

): RETURN 

21290 REH i:iW;Iilliiii:i^aiiii1 

21300 DATA 104,216,169,1,133,2,169,22, 

133,3,164,3,177,0,170,164,2,177,0,133, 

4,138,145,0,164 

21318 DATA 3,165,4,145,0,230,2,198,3,1 

92,13,16,228,96,104,160,23,177,0,74,14 

5,0,136,208,248 

21320 DATA 96,104,160,23,177,0,10,145, 

0,136,208,248,96,104,160,21,177,0,200, 

145,0,136,136,16,247 

21330 DATA 96,104,160,2,177,0,136,145, 

0,280,200,192,24,208,245,96,104,160,22 

,169,255,81,0,145,0 

21340 DATA 136,208,247,96,104,169,0,16 

0,23,145,0,136,208,251,96,104,104,133, 

1,104,133,0,104,104,168 

21358 DATA 104,104,145,0,136,16,251,96 

,1,2,4,8,16,32,64,128 



CHECKSUM DATA. 

(see page 25) 

1 DATA 3,101,486,851,11,95,654,785,451 

, 507 ,197,284, 607 , 486 , 983 , 6501 

202 DATA 150,08,712,193,962,224,571,45 

5,765,601,486,396,6,20,406,6027 

310 DATA 211,56,82,661,257,842,365,606 

, 282 , 236 , 509 , 85 , 295 , 39 , 605 , 5071 

499 DATA 320 , 639 , 399 , 639 , 136 , 144 , 833 , 8 

79,731,358,753,672,954,294,215,7966 

918 DATA 696,622,12,566,348,513,669,76 

2,567,782,952,630,496,105,650,8252 

1000 DATA 02,848,656,981,797,959,790,5 

82, 548, 102, 60, 276, 354, 436, 527 ,7998 

1095 DATA 798, 257, 178, 295, 14, 6l8, 720, 7 

24,53,474,715,621,498,521,674,7166 

2666 DATA 936,923,618,164,63,826,244,7 

92,388,923,924,2,928,237,768,8664 



2499 DATA 101,251,451,545,829,946,800, 
551,655,520,586,986,660,303,973,9237 
2614 DATA 192,911,27,759,912,550,463,2 
04,785,158,859,347,211,425,39,6922 
2647 DATA 128,911,821,535,724,112,195, 
504,747,559,97,371,098,626,129,7357 
20011 DATA 495,242,905,060,556,573,632 
,195,454,734,126,795,860,989,336,8832 
20115 DATA 654,349,260,722,674,206,330 
,104,869,796,777,153,837,876,321,8016 
21219 DATA 214,270,795,569,941,90,535, 
460,430,821,637,115,61,5954 



1 — 




m 


^ 


kl 


iamm.m^^% 


— 1 




lvi\/vin\ar 

DON'T MISS A SINGLE ISSUE. 






Let us know your new address right away At- 






tach 


an old mailing label in the space provided 






and 


3rint your new address where indicated. 






QUESTION ABOUT 






YOUR SUBSCRIPTION? 






Check the appropriate boxes below: 






D N 


lew subscription. Please allow 4-8 






wee 


ks for your first copy to be mailed. 






D Renewal subscription. Please include 






acu 


rrent address label to insure prompt 






and 


proper extension. D 1-year $28.00. 






This rate limited to the U.S.A. and its 






possessions. D Payment enclosed or 






D Bill me. 

1 1 1 —m.^^^^^ 


■K^ 












1 

1 
1 

1 

1 
1 


ai 1 

OS 1 
c/> 1 










! 












N j 


c= 1 


1 ^ 










1 


CO 1 

en ■ 


1 z 


n 








1 


0^ 1 


1 h- 


o 








I ATTACH 


"O 1 


• z> 


en 








1 


CO ■ 


1 Q- 










1 LABEL 


Q 1 


1 o 


i 






B 1 HERE 


1 ■ 

o 1 


1 ^ 


<n 






CO \ 


-^ 1 


1 w 
1 o 


E 












I _l 


o 










"O _ 


1 < 


I 










CO 1 


1 z 


.. 










-cr 1 


1 < 


in 

(O 










o i 


1 o 


X 




CO 




CO 1 


1 1- 


o 
00 

d 
a: 




CO 




"03 1 


1 -1 
I < 
1 s 


Name 
Add re 
City . 


— 1 


^,^ 


Wa^ ^HB 


■iH 1 


^ ^ 


■ ^mm 


1 


,^, J 




16K Cassette or 24K Disk 



by Tom Hudson and Kyle Peacock 



YoLi say you want action.' You say you want ^rt-at 
sound effects, great graphics, good playahility and, 
above all, fine scrolling? What's that? You say you want 
all that and more for your three dollars? No problem. 
Here's a little something Tom and I threw together 
in three weeks that should satisfy all your honking 
and tooting. 

Typing it in. 

Before typing anything, look at the listings accom- 
panying this article. 

Listing 1 is the BASIC data and data check- 
ing routine. This listing is used to create both 
cassette and disk versions of Fire Bug. The data 
statements are listed in hexadecimal (base 16), 
so the program will Ht in 16K cassette systems. 



Listing 2 is the assembly language source co(.le 
tor the game of Fire Bug, created with the OSS 
MAC/65 assembler. Yon dnn't have to type this 
listing to play the game! It is included for tho.se 
readers interestCLl in assembly language. 

Follow the instructions below to make eiriier a cas- 
sette or disk version ot Fire Bug. 

Cassette instructions. 

1. Type Listing 1 into your computer using the 
BASIC cartridge and verity your typing with 
C:CHECK (see page 25). 

2. Type RUN and press RETURN. The pro- 
gram will begin and ask: 

MAKE Cft55ETTE CO) OR DISK flJ? 



AATARI 



mm'^ 



Printers/Etc. 






fiSTRR 



600XL CALL 

800XL CALL 

^, T984 Atari, Inc.. All rights reserved. 

INTERFACES 

Axiom 846 Call 

Ape Face Call 

Atari 850 (In Stock) . , $169 

InterfasH $150 

MicrobitsllSO Call 

R-Verter Call 

DIRECT PRINTERS 

Axiom AT-100 $219 

Atari 1027 $285 

Axiom 550 AT $319 

Axiom 700 AT $469 

Atari 1025 $395 



DISK DRIVES 

Rana 1000 $298 

Astra 2001 $549 

Indus GT $315 

Trak ATD2 $388 

TrakAT-1 $319 

TrakAT-D4 Call 

Astra 1620 (Dual) . . . $499 

Percom Call 

Atari 1050 $349 

MEMORIES 

Microbits64K(XL) . . $115 
(Mosaic 48K (400) .... $98 
Mosaic 64K (400/800) Call 

Mosaic 32K $68 

Atari 64K(600XL) .... Call 

OTHER ATARI 

400 Keyboard Call ATR-8000 (64K) . . $489 

Koala Pad $67 ATR-8000 (16K) . . $359 

Chalkboard Pad $75 Alien Voice Box $98 

Bit-3 80 Column ,...$228 1010 Recorder $74 



ATARI SOFTWARE 



DIRECT MODEMS 

$128 



MicrobitslOOOC 



MISCELLANEOUS 

Syn Calc (D) $59 

Syn File (D) $59 

Syn Trend (D) $48 

Syn Com (D) $29 

Syn Chron (D) $29 

Decathlon (R) $29 

Drols (D) $23 

Gyruss (R) $31 

Heist (D) $23 

Bruce Lee (C/D) $27 

Universe (D) Call 

Queslron (D) $34 

Koala Coloring I . $20 

Koala Logo Design $27 

Bumble Games (0) $27 
Miles Accounting Call 

World Gtst Baseball $23 
Gridrunner (R) $20 

Sargon II (C/D) . $23 

Millionaire (D) $34 

Castle Wol(enstein(D) $20 
Odesta Chess (D) .... $46 
Financial Wizard (D) .. $41 
Ultima III (D) $39 

ADVENTURE INT'L 

Adv. 1-12 each (C) $18 

Preppie(C/D) $20 

Preppiell(C/D) $23 

Diskey(D) $33 

Sea Dragon (C/D) $23 

Lunar Lndr . (C)$11 (D)$15 
Galactic Empire (C) ..$14 

ADVENTURE INT'L 

Ultra Disassembler(D) $33 

Diskey(D) $33 

Adv. 1-12 (each) (C) ... $18 
Saga 1-12 (each) (D) . . $27 

ATARI 

Atari Writer (R) $68 

Paint (D) $30 

Microsoft Basic II (R) . $64 

Visicalc(D) $139 

Home File Mgr(D) ... $36 
Assembler Editor(R) . $44 

Qix(R) $32 

Dig Dug(R) $32 

Atari Logo (R) $72 

Ms. Pac Man (R) $33 

Joust (R) $33 

Donkey Kong Jr (R) $35 
Compuler Chess (R) $24 

Galaxian (R) $30 

Defender (R) $30 

ET $34 

Pac Man (R) $30 

Centipede (R) $30 

Caverns of Mars (D) . . $28 

Star Raiders (R) $30 

Conv. Lang. Ea. (C) ... $42 

Asteroids (R) $27 

Space Invaders (R) ... $27 
Missile Command (R) . $27 

Telelink(R) $21 

Family Finance (D) ... $35 

Prog. 1 (C) $18 

AVALON HILL 

Telengard . (C)$16(D) $19 

Close Assault (C) 20(D) 23 

TAC(D) $27 

Space Station Zulu 

(D)$17(C)$14 

Flying Ace . (D)$21 (C)$18 
GFS Sorceress 

(D) $23 (C) $20 



AVALON HILL(Cont'd) 

Moon Patrol (C) $17 

B-1 Nuc. Bomber (C) . . $12 

Legionnaire (C) $23 

Empire of Overmind 

(D)$23(C)$20 

Tanktics . . . (D)$20(C)$17 
Comptr Stock & Bonds . . . 

(D)$17(C)$14 

Galaxy .... (D)$17(C)$14 

Nuke War (C) $12 

Andromeda Conquest ... 

(D)$16(C)$13 

Close Assit (D)$23(C)$20 
BRODERBUND 

Sky Blazer (D) $22 

Bank St. Writer (D) ... $46 

A.E. (D) $23 

Arcade Machine (D) . . $39 
Choplifter . (D)$23(R)$29 

Labyrinth (C/D) $20 

Serpentine . (D)$23(R)$27 
Steller Shuttle (C/D) . . $17 

Apple Panic (C/D) $20 

Genetic Drift (C/D) ... $20 
Oper. Whirlwind (D) . . $27 
Choplifter . (D)$23(R)$29 
Match Boxes (C/D) . . . $20 
CDY CONSULTING 

Pogoman(C/D) $27 

CBS 

Mountain King (R) ... $27 
Boulders & Bombs (R) $27- 
Krazy(each)(R) $27 

CONTINENTAL 

Home Accountant (D) $48 
Tax Advantage (D) ...$45 
COUNTERPOINT SW Call 
DATASOFT 

Pooyan (C/D) $20 

Teletalk(D) $33 

Grapfiic Master (D) ... $23 

Micropainter(D) $23 

Zaxxon (C/D) $27 

Pac. Coast Hwy (C/D) . $20 
Clowns/Balloons (C/D) $20 

Spell Wizard (D) 

Canyon Climber(C/D) $20 
EASTERN HOUSE 
Monkey Wrench II ... $51 
EDUCATIONAL SW 

Tricky 1,2,3or4 $15 

Tricky 5-13 $22 

EDUWARE 

Spelling Bee(D) $27 

Compu/Read 

(D)$21 (C)$15 

Compu/Math-FR 

(D)$27(C)$21 

Compu/Math-Dec 

(D)$27(C)$21 

EPYX 

Dragon Riders (C/D) . . $27 
Temple APS (C/D) .... $27 

Jumpman(C/D) $27 

FIRST STAR 

Boulder Dsh (C/D) 20 (R) 27 

Bristles (C/D) $20 

Flip Flop (C/D) $20 

GAMESTAR 

Football (C/D) $21 

Baseball (C/D) $21 



DIABLO 

630 Letter Qual. S1648 

SILVER REED 

EXP 400 Ltr. Qual. . $310 
EXP 500 Ltr. Qual. . . $379 
EXP 550 Ltr. Qual. $449 
EXP 770 Ltr. Qual. . . $888 
STAR 

Gemini 10X $259 

Gemini 15X $378 

Delta 10 $378 

Delta 15 $539 

Radix 10 $549 

Radix 15 $646 

Power Type .... Call 
TOSHIBA 

1340 $788 

1351 $1299 

NEC 

3510 $1259 

3530 $1259 

3550 $1598 

7710/7730 $1719" 



CITOH 

Prowriter $335 

Provirriterll $648 

Starvirriter $1098 

Printmaster $1448 

OKIDATA 

e2A Call 

84P Call 

92 $409 

93 Call 



DAISYWRITER 

2000 $995 

MANNESMANN 

160L $559 

Spirit $309 

JUKI 

6100 . .■ $419 

ABATI 

LQ 20P Ltr. Qual. $378 

PANASONIC 

1090 $255 

1091 $319 

1092 $458 



AMDEK 

V300 G $139 

V300 A $149 

V310 G (IBM) $155 

V310 A (IBM) $165 

Color I -I- $274 

Color 11+ $419 

Color III $349 

Color IV (IBM) . $699 

PRINCETON GRAPHICS 
MAX 12 (Amber) . . $178 

HX 12 (RGB) $489 

SR 12 (RGB) $619 

SUPER 5 

100A (Amber) $99 

500G (IBM v»ith till) $126 
500A (IBM with tilt) $126 



MONITORS 



SAKATA 

SCI 00 (Color) $239 

1000G (Green) $109 

TAXAN 

100 Green $118 

105 Amber $128 

210 RGB/Composite $288 
400 RGB Med-Res. $309 
415 RGB Hi-Res. . - - $429 
420 RGB Hi-Res.(IBM)$479 
NEC 

JB 1260 (Grn) $99 

JB 1201 (Grn) . . $145 

JB 1205 (Amber) . $145 

ZENITH 

Green . . $95 

Amber $99 



MODEMS 



NOVATION 

J-Cat $99 

Apple Cat II $259 

D-Cal $149 



HAYES 

Smartmodem $209 

Smartmodem 1200 . . $498 

Micromodem II $259 

Micromodem lie .... $239 

PROMETHIUS 

Promodem 1200 . . $349 




COSMIC 
COMPUTERS 

727 BREA CANYON RD., SUITE 16 
WALNUT, CA 91789 

(800) 626-7642 



PLEASE FOR ORDERS ONLY 
SORRY, NO COD'S 



cXlif (714) 594-5204 

FUR TECHNICAL INFO, ORDER INQUIRIES, 

Add $2.50 shipping per software order in continental U.S. Add $5.00 
stiipping per software order for AK, HI. FPO-APO. Add $10.00 or 15% 
(whichever is greater) per software order lor non-U. S. Call for cost of 
hardware shipping. Calif, residents add 6%% sales tax. Cashiers 
checks or money orders tilled within 24 hours for items in stock 
Personal checks require 4 weeks to clear. MasterCard and Visa OK for 
software only within continental US. add 3% surcharge. Include card 
no., expiration date and signature. Due to our low prices, all sales are 
final. All detective returns must have a return authorization number 
Please call lo obtain one before returning goods lor replacement or 
repair. Prices & availability subject to change. 




DISK DRIVE SYSTEM 

MORE FOR YOUR MONEY 

DOUBLE OR SINGLE DENSITY 

TWO DRIVES 



2001 DISK DRIVE ... $549 




INDUS GT $315 

ATARI SOFTWARE 



MISCELLANEOUS 

Financial Wizard (D) . . $41 
Castle WoHenstein(D) $20 

Master Type (D) $27 

Astro Ctiase(D) $22 

Miner 2049er(R) $34 

Megalegs(C) $23 

Cap'n Cosmo (D) $19 

Spy's Demise (D) $14 

Galac. Chase (D)$20 (C)$18 

Kid Grid (C/D) $20 

Battle Trek (D) $20 

Air Strike (C/D) $27 

T&F-PMP Property 

Management (D) .. $149 
GEBELLI 

Firebird (R) $27 

Embargo (R) $30 

Candy Factory (D) $20 

Match Racers (C/D) . . $20 

Dr. Goodcode(D) $20 

HAYDEN 

Go (D)$23(C)$20 

Sargon II . . (D)$23(C)$20 

Coco (C/D) $34 

Coco n (C/D) $27 

INHOME 

Baseball . . (R) $23 (D) $23 

Crypts of Terror 

(D) $23 (C) $20 

INNOVATIVE DESIGN 
Speedway Blast 

(D)$20(R)$27 

Pool 400 (R) $27 

JV SOFTWARE 
Jrny to Pints (C/D) .... $20 
Action Quest (C/D) ... $20 
Ghost Encount. (C/D) . $20 

INFOCOM 

ZorkI, llorlll(D) $27 

Deadline(D) $34 

Starcross(D) $27 

Suspended (D) $34 

Witness (D) $34 

Planetfall(D) $34 

Enchanter (D) $34 

Infidel (D) $34 

KRELLSAT Call 

INTELL. STATEMENTS 
Prof. Blackjack (D) ... $46 
LJK 

Letter Perfect (D) $74 

Data Perfect (D) $74 

Spell Perfect (D) $56 

Letter Perfect (R) .... $74 
MICROPROSE 

Solo Flight (D) $26 

Hellcat Ace (C/D) $23 

MONARCH 

ABC Compiler (D) $55 

OPTIMIZED SYSTEMS 

Action (R) $65 

Basic XL (R) $65 

Mac 65(D) $58 

C-65(D) $58 

Bug 65(D) $23 

ODESTA 

Chess (D) $45 

Checkers (D) $34 

Odin (D) $34 

PARKER BROS 

Astrochase(R) $33 

Death Star (R) $33 

Q-Bert(R) $33 

Popeye(R) $33 

PHOENIX 

Birth of Phoenix (D) . . $16 

Adv. In Time (D) $20 

QUALITY 

Name That Song 

(D)$13(C)$11 

Return of Hercules (D) $22 

All Baba(D) $22 

Jeeper Creepers (D) ..$20 
ROKLAN 

Gorf (D)$27(R)$30 

DIx Invaders (D)$23(R)$27 



RESTOM 

Moviemaker(D) $45 

SCARBOROUGH SYS. 

Mastertype(D/R) $27 

Songwriter (D) $27 

SCHOOL WIZWARE Call 

SENTIENT 

Gold Rush (D) $23 

Cyborg (D) $23 

SIERRA ON-LINE 
Mission Asteroids (D) $17 
Ulys.&Gldn Fleece (D) $27 
Crossfire . . (D)$20(R)$23 

Mouseattack(D) $23 

Jawbreaker (D) $20 (R) $23 

Threshold (D) $27 

Homeword(D) $46 

Ultima 11(D) $39 

Dark Crystal (D) $26 

Wiz.& Princess (D) ... $22 

Lunar Leeper(D) $20 

Wiz& Princess (D) ... $22 

Frogger(C/D) $23 

SIRIUS 

Bandits (b) ' $23 

Space Eggs (D) $20 

Sneakers(D) $20 

Way Out (D) $27 

Type Attack (D) $27 

Repton(D) $27 

Critical Mass(D) $27 

Fast Eddy (R) $23 

SPINNAKER 

Snooper Troop 1, 2(D) . $30 

Most Amazing (D) $27 

Kids on Keys (D) $20 

Trains (D) $27 

Delta Drawing (R) .... $27 

Aerobics (D) $34 

Hey Diddle Diddle (D) . $20 
Srch AmzngThngs(D) $27 
Story Machine (D) .... $23 
Face Maker (D) $23 

STRATEGIC SIM. 

Broadsides (D) $27 

Carrier Force (D) $39 

Combat Leader (D) ... $27 

Rails West (D) $27 

Epidemic (D) $23 

Eagles (D) $27 

Cosmic Ball or 11(D) . . $27 

SUBLOGIC 

Flight Simulator 11(D) . $36 

Pinball(C/D) $20 

SWIFTY 

J. White Music Lessons 
(C/D) $20 

SYNAPSE 

FileManager(R) $54 

Fort Apocalypse (C/D) $23 
Dimension X (C/D) ... $23 

Blue Max (C/D) $23 

Encounter(D/R) $23 

Zepplin(C/D) $23 

Pharoah's Curse (C/D) $23 

Protector II (D)$23(R)$29 
Shamus .. . (D)$23(R)$29 
Fort Apocalypse (C/D) $23 

Shamus II (C/D) $23 

Necromancer (C/D) . . . $23 
Pharoh's Curse (C/D) . $23 

Drelbs(C/D) $23 

Shadow World (C/D) .. $23 

Survivor (C/D) $23 

THORN EMI 

Soccer (R) $34 

Jumbo Jet (R) $34 

Submarine Comm.(R) $34 
TRONIX 

S.A.M.(D) $39 

P.M. Animator (D) .... $29 

Juice (C/D) $20 

Chatterbee(D) $27 

USA 

3-DSprgrphcs(C/D) . . $27 
Survival Adv. (C/D) ... $17 



CIRCLE #118 ON READER SERVICE CARD 



ISSUE 23 



ANALOG COMPUTING 



PAGE 41 



Type and press RETURN. The program will 
begin checking the DATA statements, printing 
the line number of each as it goes. It will alert 
you if it finds any problems. Fix any incorrect 
lines and re -RUN the program, if necessary, un- 
til all errors are eliminated. 

3. When all of your DATA lines are correct, 
the computer will beep twice and prompt you 
to READY CASSETTE AND PRESS RETURN. 
Now, insert a blank cassette in your recorder, 
press the RECORD and PLAY buttons simultane- 
ously and hit RETURN. The message WRITING 
FILE will appear, and the program will create 
a machine language boot tape version of Fire 
Bug, printing each DATA line number as it goes. 
When the READY prompt appears, the game is 
recorded and ready to play. CSAVE the BASIC 
program onto a separate tape before continuing. 

4. To play the game, rewind the tape created 
by the BASIC program to the beginning. Turn 
your computer OFF and remove all cartridges. 
Press the PLAY button on your recorder and turn 
ON your computer while holding down the 
START key. If you have a 600 or 800XL com- 
puter, you must hold the START and OPTION 
keys when you turn on the power. The compu- 
ter will "beep" once. Hit the RETURN key and 
Fire Bug will load and run automatically. 

Disk instructions. 

1. Type Listing 1 into your computer, using the 
BASIC cartridge and verify your typing with 
D:CHECK2 (see page 25). 

2. Type RUN and press RETURN. The pro- 
gram will ask: 

MrtKE CftSSETTE (OJ OR DISK Cl>? 

Type I and press RETURN. The program will 
begin checking the DATA lines, printing the line 
number of each statement as it goes. It will alert 
you if it finds any problems. Fix incorrect lines 
and re-RUN the program, if necessary, until all 
errors are eliminated. 

3. When all DATA lines are correct, you will 
be prompted to INSERT DISK WITH DOS, 
PRESS RETURN. Put a disk containing DOS 
2. OS into drive #1 and press RETURN. The mes- 
sage WRITING FILE will appear, and the pro- 
gram will create an AUTORUN.SYS file on the 
disk, displaying each DATA line number as it 
goes. When the READY prompt appears, the 
game is ready to play. Be sure the BASIC pro- 
gram is SAVEd before continuing. 

4. To play the game, insert the disk contain- 
ing the AUTORUN.SYS file into drive #1. Turn 
your computer OFF, remove all cartridges and 
turn the computer back ON. Fire Bug will load 
and run automatically. 



Playing the game. 
Fire Bug is a one-player game that requires a joy- 
stick in port one. To begin the game, press the START 
key while the opening credits are being displayed. 
(Tom and I had a hard time deciding whose name 
would go first.) You can select which level you wish 
to start on by pressing the corresponding number, 1 
through 9. Pausing of the game is accomplished by 
pressing the spacebar. Hitting the spacebar a second 
time will resume the game. 

Many years ago, a species of insect inhabited the 
subterranean chambers of Earth. Here, the "fire" spe- 
cies flourished for some four million years. Every two 
thousand years, the entire population expired, with 
the exception of one female. This female Fire Bug 
served as guardian over the dispersed fire nests of the 
underground. For eighty years, she defended these 
nests and their immature eggs from natural predators. 
Capable of emitting small, lethal "sparks," she combed 
Earth's interior with an ever-watchful eye. Such an 
instinct kept her species alive for aeons before man 
emerged on the surface of the world. 

Now the Fire Bug is threatened with extinction. 
Man's nuclear wastes have infested the soil and mu- 
tated the predators of the Fire Bug into hideous, 

(continued on next page) 



RENT ^|l BUY 
ATARI^ 

EXCifEMENT 



PERCOM DATA& 

INDUS DISK DRIVES 

$349 



400/800/810 

Heavy Duty Dust 

Covers - $3.49 



NEW& CHALLENGING 

Bridge 4.0 $27.00 

Agent USA $21.00 

Computer Mechanic . . . $21.00 

Home Accountant .... $55.00 

Gwendolyn $23.00 

Personal Accountant . . . $27.00 

Pol<er Tourney $21.00 

Strip Pol<er $25.00 

Strip Poker No. 2 Men . . $21.00 

Strip Poker No. 1 Female $21.00 

Blackjack — Ken Ulsten . $45.00 

Financial Cook Book. . . $42.00 



SPECIALS 

DISK BANKS— eacti box stores 
up to 10 diskettes. Files interlock 
& stack. Fit file drawers any— 
wtiere. Buy 5 get one free. 

. .$25.95- . $5.19 each. . . 
MEMOREX 5%" DISKS SS/DD 
. . .3 for $7.49. . . 

LOST IN A DUNGEON? ? ? ? 
These books may help you return 

1. Scott Adams Official 

Hint Book $7.95 

2. Shortcuts Through 

Adventureland $9.95 

" includes almost all INFOCOM 

GAMES. (Book No. 1} 
• includes: Dark Crystal, 

Transylvania, Wizard & 

Princess, Ulvsses and 

more. (Book No. 2) 

3.SECRETS OF SOSARIA 

A guide through tht 

of Ultima III 



many 



realm 
$9.95 



Call toll-free outside Texas: 1-800-433-2938 
- Inside Texas call: 817-292-7396 

WEDGWOOD RENTAL 

5316 Woodway Drive 
Fort Worth, Texas 76133 



CIRCLE »119 ON READER SERVICE CARD. 



PAGE 42 



ANALOG COMPUTING 



ISSUE 23 



unstoppable bug-eating machines. These new super 
predators have the capacity to reproduce at astound- 
ing rates. Should they happen upon a Fire Bug nest, 
escape for the fire eggs is doubtful, if not impossible. 





oooeoo 



BUGS t * 



Firebug. 

As fate would have it, you are the last remaining 
female Fire Bug. You must defend the nests and pave 



New Jersey 

BBS 
UPDATE 



lb all of you dedicated New Jersey users 
who've been patiently awaiting the correct 
phone number for the Jersey Atari Computer 
Group (issue 19's listing was for the wrong 
number; in issue 21 's Reader Comment, we 
informed you that the number given in that 
earlier listing was a store, not a BBS), here 
it is: 

(201) 549-7591 

The New Jersey group is planning to fea- 
ture a 25 megabyte hard disk on-line — to 
serve all of you. 



the way for your species' next generation. To further 
outline your eighty-year objective, the following il- 
lustrations will help you distinguish friend from foe. 



This is your Fire Bug. It has the 
capability to burrow tunnels and fire 
sparks. Burrowing through the soil re- 
quires greater effort, thus your Fire 
Bug will travel more slowly through 
soil than through already existing tun- 
nels. Coming in contact with any of 
the enemy predators will lead to in- 
stant vaporization. Use your Fire Bug 
carefully; you only have five lives! 

This is a spark. It will destroy a 
predator or create a partial tunnel. 
They have a limited range, which is 
usually just beyond the screens edge. 
The small bar graph at the bottom of 
the screen dictates how many sparks 
remain to you. Sparks regenerate one 
every two seconds while the Fire Bug 
is burrowing. The regeneration rate 
is one every four seconds while stand- 
ing still or traveling through an al- 
ready existing tunnel. 

This is a fire egg. Initially, several 
eggs will be grouped in a small fire 
nest. Fire eggs do not have the capa- 
bility to create their own tunnels; they 
will, however, travel through already 
existing ones. These eggs make a de- 
lightful snack for a lucky predator. 
The innocent "tweets" of a perishing 
egg would bring tears to any Fire 
Bug's eye. Should all the fire eggs be 
destroyed or eaten, the fire species will 
terminate, and the game will end. 

This is a proximity bomb, a prod- 
uct of man's nuclear waste. It is high- 
ly unstable. Should your Fire Bug 
tunnel next to or shoot past a prox- 
imity bomb, the device will detonate 
shortly thereafter. Being caught in the 
explosion radius is just as lethal as 
being chewed by a predator. Caution 
should be exercised with this nuclear 
trash, as closely grouped bombs may 
set off a chain reaction. 



(continued on page 44) 




£ 



NHnil 



©AiflC €@)i!«[L[IK. 



ATARI OWNERS FINAILYH 

The BASIC Compiler for Every Need and Every Program! 

Tired of using those other BASIC compilers that don't do the job for you? Is there o long list of valid 
BASIC commands that they don't support? Or don't they compile to true 6502 machine language for 
maximum speed? Or do you hove to rewrite your whole BASIC program just to find out that it won't 
run when compiled? 




THE FIRST COMPLETE BASIC COMPILER FOR THE ATARI COMPUTERS THAT PRODUCES NATIVE 6502 CODE 



BASIC, as we oil know, is an easy-to-use longuoge for 
ATARI computers. It's only disadvantage is that it's SLOW. 
For some types of functions, it seems to toUe BASIC 
programs forever to execute. We all know that the fostest 
language available is machine longuoge, the language 
of ones and zeros. But don't worry! Now you don't hove 
to learn o whole new language just to hove programs 
execute with machine language speed. 
The AAMG BASIC COMPILER tokes your BASIC program and 
converts it to mochine longuoge for you. Furthermore, this 
machine language program will outorun, simply by 
naming it AUTORUN.SYS, putting it on o disk with the DOS 
2.05 files on it, ond turning on your computer with that 
disk in your drive. 



Using the MMG BASIC COMPILER, you con program in 
BASIC, the some BASIC you already know, and get your 
program up and running. Then the MMG BASIC COMPILER 
will convert your BASIC program for you, producing 
lightning-fost progroms to rival those of the professionals. 
Imagine moving a player from the top of the screen to 
the bottom in less than o second! Try thot using other 
compilers! Imagine what your progroms will be like when 
they're compiled to true 6502 machine longuoge. The 
MMG BASIC COMPILER has been used to produce 
commercially ovoiloble orcode-type gomes from BASIC 
source code, and con do the some for you! 
/v\MG would even be interested in marketing your results! 
If you produce whot you believe to be o morketoble 
program, coll us for details! 



•compile to fast 6502 machine language, not slow 

pseudocode (P-code)? 
•support trigonometric functions like ATN, COS, SIN? 
•support mothemoticol functions like CLOG, EXP, LOG 

RND, SQR? 
•support RUN "D:PROGRAM"? 

•support ATARI string handling like AS(2,4) = "BOD"? 
•support COMmon variables? 
•support the POP command? 
•support the LPRINT command? 
•support either RAD or DEG calculations? 
•support both integer and flooting point arithmetic? 
•operate in either single or true double density? 
•allow DATA statements anywhere in your program? 
•produce assembly longuoge source code of your 

program for your own use? 

The MMG BASIC COMPILER does! 

The MMG 3ASIC COMPILER comes with both single end double density versions on the same disk, and is available from 
your locol computer store, or send S99.95 plus $3.00 for shipping and handling to: 

AAMG Micro Software P.O. Box 131 Marlboro, NJ 07746 (201) 401-3472 



Vise MosierCofd or COD orders occepied Mew Jeriiey residents pleose odd 6% soles tax. 

CIRCLE #120 ON READER SERVICE CARD 



PAGE 44 



ANALOG COMPUTING 



ISSUE 23 





This is a super predator, class one. 
They have the capabihty to create 
their own tunnels. They thrive on fire 
eggs, as well as Fire Bugs. They can 
be destroyed by a spark or the debris 
of a detonating proximity bomb. Dur- 
ing mating season, should two of 
these bugs come in contact with one 
another, they will create four class two 
predators. Mating season occurs once 
every one hundred seconds. 

This is a super predator, class two. 
They follow the same rules and res- 
trictions as their class one counter- 
parts. Should two class two bugs come 
in contact with one another, they will 
create four class one predators. The 
gurgling sound of mating predators 
strikes fear into a Fire Bug's heart. 



This month's public domain assembly language 
game should keep you busy for thirty days. Next 
month, Tom and I will be taking the BASIC spot- 
light with BASIC Training and Bopotron! Don't miss 
it. Aloha! D 

BASIC listing. 



19 REM *** FIREBUG *** 

29 TRfiP 20:? "MAKE CASSETTE C8J , OR DI 
SK tl}";:INPUT DSKSIF DSK>1 THEN 28 

30 TRAP 40800:DATA 0,1,2,3,4,5,6,7,8,9 
,0,0,0,8,8,8,8,18,11,12,13,14,15 

48 DIM DATSf^lJ ,HEHt22) IFOR X=8 TO 22: 

READ N:HEXO<)=N:NEKT K : LINE=998 :RESTOR 

E 1888: TRAP 128:? "CHECKIM6 DflTfl" 

58 LINE=LIIME+18:? "LINE :"; LIME : READ DA 

T$:IF LEN{DAT5}<>98 THEN 228 

68 DATLIH=PEEKtl83}+PEEKC184}»256:IF D 

ATLIMOLIME then ? "LINE ";LIME;" MISS 

ING>"':END 

70 FOR K=l TO 89 STEP 2 : D1=ASC CDATS fX, 

XJ J -48 : D2=ASC {DAT5 CX+1 , X+1) } -48 : BYTE=H 

EXCDlJ*16+HEXtD2J 

88 IF PASS=2 THEM PUT ttl, BYTE: NEXT X:R 

EAD CHKSUM:GOTO 50 

90 TOTAL::TOTAL+BVTE:IF T0TAL>999 THEM 

T0TAL=T0TAL-18ee 

100 NEXT X:READ CHKSUM:IF TOTAL=CHKSUM 

THEN 59 
110 GOTO 229 

120 IF PEEKfl95J<>6 THEN 228 
138 IF PA5S=e THEN 170 
148 IF NOT DSK THEM 168 
150 PUT «1, 224: PUT ttl , 2 : PUT ttl,225:PUT 

ttl,2:PUT ttl, 8: PUT ttl, 36: CLOSE ttl: END 
160 FOR X=l TO 92: PUT ttl, 8: NEXT X:CLOS 
E ttl: END 

170 IF NOT DSK THEN 208 

180 ? "INSERT DISK WITH DOS, PRESS RET 
URN";:DIM IHS(1J:INPUT IN$:OPEN ttl, 8, 8 
,"D:AUTORUM.SYS" 
190 PUT ttl, 255: PUT ttl, 255: PUT ttl, 8: PUT 

ttl, 36: PUT ttl, 251: PUT ttl, 54: GOTO 210 
200 ? "READY CASSETTE AND PRESS RETURN 
";:OPEH «1,8,128,"C:":REST0RE 230:F0R 
X=l TO 48:READ N:PUT ttl,N:NEXT X 



218 ? :? "HRITING FILE" :PASS=2 :LINE=99 

8:REST0RE 1000:TRAP 12e:G0T0 58 

220 ? "BAD DATA: LIME ";LIHE:END 

230 DATA 0,39,216,7,255,7,169,0,141,47 

,2,169,60,141,2,211,169,0,141,231,2,13 

3,14,169,56,141,232,2 

240 DATA 133,15,169,36,133,10,169,8,13 

3,11,24,96 

1000 DATA A92485S9A9888581A98885888S80 

A0e8B188918e88D8F9E6SlE689A589C938D8ED 

4C2498A9228D2F82A9e485C7 , 780 

1010 DATA A98185BBA98185CD8D86D88D87D8 

85BF20iei3A986A28BA0AC2e5CE4A907A28CA8 

e8205CE4A9C08DeED4ADlFD0 , 938 

1828 DATA C907F0e68D69894C5788AD6989C9 

86F02CAD8FD22984F8E5ADFC02A2e8DD6e89F0 

05CA10F83eD68eBBE6BB86BD , 465 

1030 DATA E6BD2eD21A20E112A9FF8DFC824C 

5788A9808D6989204910A90085BF85CDADlFDe 

C987F0034C3108ADFC82C921,458 

1840 DATA D026AD0FD229e4F01FA9ei85BF8D 

FC822ei013ADFCe2C921D8F9AD8FD22984F0F9 

A90085BF8DFC82A5DFD887A9,76 

1858 DATA ei85DF206519A5E0D007A9e385E0 

2e2318A5D9D88F20380BA5A2F004A90BD0e2A9 

8885D9A5D8F8ieA5CAD88CA9,488 

1868 DATA 3C85CAC6C9D884A98885D8A5BEF8 

034CA508A5BC4AC9ie9882A98FAABD588985BE 

20888928161AA5E4D814E6BC, 812 

1078 DATA F8A5BDlSe98185BDD828D21A2884 

134C9F884CA58814131211108F0EeD8C8B8A89 

888706051F1E1A181D1B3335,368 

1088 DATA 3888A5988598A5998591281C19C6 

E338892eDDlA2884134C9F082004134C3108A9 

8885E4A21D86D5BDlE85D8e3,441 

1898 DATA 4C3ieABD5A85858EBD78e5858FA8 

88B18EDD8885Fei8A98e9DlE85A98C38FDeoe5 

2986eA8A8A859F28951A4C31,251 

1188 DATA 8AA9888D69138D6B13A5D8D088A9 

81BCe8e5996113A98385D6A4D6BD5A85187959 

13858EBD7885795D138S8FAe,883 

1118 DATA e0B18E297F85D3A8B96113F812B9 

7413C9FFD00BA5D69D3C852e6CeA4C310AC6D6 

ieC9A98485D2BD3Ce51885AD,915 

1128 DATA 8AD229839D3C8528418A1889C6D2 

10EAA9FF9D3C05A6D5BD1E8SF882E6E4CA3803 

4C8E8968A8BD5A8518795913,421 

1138 DATA 858EBD78e5795D138S8FA000B18E 

297F85D3A8B96113D883A9FF68B97413CDeAD2 

90F5BD5A058588BD7S858589,981 

1140 DATA A90eA89188C8918888BD8e85918E 

C8186901918EA58E9D5A85A58F9D7885A5D3DD 

8e85F8834C2D0BA90e9DlEe5,881 

1150 DATA BD0885C9e8D888A9e785A3A9eAD8 

86A98785A4A98885D7A98385D6A4D6A58E1879 

59138S88A58F795D138589A8,988 

1168 DATA e0B188297FC9eiFe4AC9e6F054C9 

08F842C98AF03EC98CF848C90FF836A21DBD1E 

85F08ECA10F8A98185D8A964 , 494 

1170 DATA 85C94C2A8BA9819DlEe5A9FF9D3C 

85A5889D5A85A5899D7885A5D79De8e5918818 

6981C89188C6D63e834CBE8A , 275 

1180 DATA A9e860C906D0F9686868684C6A89 

A5988588A5998589A888B188C986F082D83eAE 

7882BC87131OO160A5981879, 376 

1190 DATA S913858EA599795D13858FA80eBl 

8EC901F8E8C98CF8E4C98FBeEeC9869089C90E 

F0e568684C6A89C98eF08AC9 , 987 

1280 DATA 8EF086A9ei85A2De04A98885A2A9 

8E9188C8918888A986918EC8186981918EA58E 

8598A58F85996eD8A287AD8A,318 

1210 DATA D229S59D8884CA10F5A5CDeAAABD 

85eCSD3982BD8e8C8D3182A9918D8882A98C8D 

eie2CE358E182DAD8AD2293F , 629 

1220 DATA 898F8D358EEE348EAD348E29810A 

0AAABD89eC8D998EBD8AeC8D9A8EBDSB8C8DAl 

0EBD8C0C8DA2eEA5BFD05885,29 

1230 DATA 4DCE328E1830AD78e2C98FD004A2 

eeFee2A6A26D2F8E8D328EEE338EAD338E29ei 

F813A6B9BDEeeEC914D887E0,630 

1240 DATA lDFeoeE6B9E8DEEe8EA5CAF002C6 

CAA5EeF002C6E8A5DFF0e2C6DFA5BEFe82C6BE 

A5D9F802C6D928751420940F , 513 

1250 DATA 4C5FE4D8207215A5BFD81220DF8C 

28888D284D8D20720D20910D20BEOD4C62E436 

0E8A0E448F6C8F6C8F448F48, 9 



ISSUE 23 



ANALOG COMPUTING 



PAGE 45 



1260 DATA 8A489848A9e4A2JFA4CE8DeAD4SE 

eeD48ClADe8De9D4A9B8SD0ee2A9eC8D8ie2e8 

A868AA684e48ADC8e28D8AD4 , 9 

1278 DATA 8DlADOAD2F828DeOD4A9D48De082 

A9eC8Deie2684e48A9Ee8DeAD48D89D46848A5 

A2Fei3CE318EieiFA9838D31 , 598 

1288 DATA 8EA6BABD7882C9eFDee7A9888D81 

D2F88AA94e8DeiD2A9DC8De8D2eeAeA318e7A9 

888D83D2F88DBD3D8D8D82D2, 648 

1298 DATA A9A4SDe3D2C6A3A6A4ie8BA5A318 

14A9808D83D2F88DBD458D8De2D2A9A48D83D2 

C6A460F8A858888F5FAFFFD2 , 192 

1388 DATA 8C46e82D73B9FFA6C818e9A5A3ie 

84A5A438CF6eBD688D8D82D2A9A68De3D2C6C8 

68ee88181828282F373F47Ae, 785 

1318 DATA A51886A9088D85D268BD8A8D8D84 

D2A9AA8D85D2CeA56ei2396188B8D7FFA6A6ie 

85A5A538DD60BDA88D8D84D2, 169 

1328 DATA A98C8D85D2C6Ae60F4E8DCDlC5BA 

AEA2978B8074685D51463A2E23178C8eAeDEie 

llA93e28E58DA5A6ie07A5A5,578 

1338 DATA 18834C768D6eBDEC8D8De4D2A98A 

8De5D2C6DEAD0AD2297e8D36eE8D370E6888FD 

F9F5FlEDEAE6E2DEDAD6D3CF,8ie 

1340 DATA CBC7C3BFBCB8B4B8ACA8A5A19D99 

95918E8A8e827E7B77736F6Be764ee5C585458 

4D4945413D3936322E2A2622, 156 

1358 DATA lFlB1713eFeB0884783C808e88ee 

883e303e303e30C61CeF44BeeE74e08074888e 

748888748888748088748008,957 

1368 DATA 7400007400007400887488887488 

80748008748880740800740000740000740088 

740080740000540008C4B88E , 935 

1378 DATA 80C4E00E200641360E70707e7070 

471C8F707e463e0F7847eC0F7e46588F784744 

8F7070704688eF7046088F41 , 247 

1380 DATA 8A0E818181818ieieieiei010101 

eieieioioieioioioioioioioioioioioioioi 

010181010181818181018101,442 

1398 DATA 8181810101000000000080000088 

80008008800000000888800000000000080000 

000080880000000008808000 , 447 

1400 DATA 404040404040406C766C5A888880 

A2B5A7B39A8000000000000066697265006275 

670080000000000008000000,414 

1410 DATA 3732293434252E0022398e888888 

880088e80000B4AFAD00ASB5A4B3AFAE0000e0 

088880000000000008808886 , 413 

1428 DATA 8800000000000000000000000000 

EBF9ECE500F0E5ElE3EFE3EB00000e80000061 

6E616C6F6700636F6D707574 , 274 

1430 DATA 696E670000A0eDA9138DC60FA5C0 

0AAABDC88FC9FFD082A288BDC78F1865C19936 

8EBDC88F698099370EE8E89S,365 

1448 DATA lS6983A8CEC68F10DA6080002e88 

28882180210022802200238823882480240025 

802580268826882788278028,46 

1458 DATA 88288829S829002A882A8e2B882B 

8e2C8e2C002D802D0e2E802E002F802Fee3080 

308831883180328832003388 , 583 

1468 DATA 3388348834803580350036883680 

3780370038883880398039003A803A003B883B 

883C803Ce03D803De83E883E , 296 

1478 DATA 803FSe3FFFFFA9848589A28D86DD 

A6DDBDC51385888A8A8A8AAAA000BDD3139188 

E8C8C008D0F5C6DDieE3A900,2e8 

1488 DATA 85BA85A185A085C3A282959A959D 

CA18F9A9ei85C4S5D8A9S485C5A92B85C6A983 

85CF85DlA2848eE3A5BB85BC, 782 

1498 DATA 85BDBD261395E8CA10FSA93E8D2F 

e2A9808D07D4A9038DlDD0A9218D6F82A9Fe8D 

eCD8A9288D8eD8A9CC8D87D8,13e 

1580 DATA A900AA9D0003EeC9BOOBE0309007 

A9F09D0003A900CADeEB201013A2018eBF8EFC 

e2CACA86A386A486A586A686 , 736 

1518 DATA DE86C8A5C385ClA5C485CeA98085 

A7A283A9FF95B1CA10F9A213A9149DEA0ECA10 

FAA91D85B9A2808A0AA8B9C7 , 136 

1528 DATA 8F8580B9C88F8581C9FFF813A87F 

A98428431418698291S88810F3ES4C1F11A200 

Ae00BD3513996F14E8C8C006 , 20 

1530 DATA D0F4AD6F1485CBAD701485CC2e57 

14Ae8098918eAD6F14CD7114D088AC7014CC72 

14F014186D73148D6F14AD7e , 63 

1548 DATA 14186D74148D78144C5311E02490 

B8A6BCE00B9e82A28ABD2A1385DCAAA93A2043 

141869838AA8B9C78F85889D, 542 



1558 DATA 9605B9C88F85819DFA05A9732043 

141869e60981A8B188F0D7C90FF8D3A98F9180 

186981C891808898187D9685, 566 

1560 DATA 9D9605A9FF9D5E06CA10B8A280BD 

C80FC9FFF0158581BDC70F8588A00198918eA8 

7F9188E8E84CE511CACABDC7, 894 

1578 DATA 8F8580BDC88F8581ADC78F8586AD 

C80F8587A07FA901918891868SieF920A71A20 

D21A20DDlAA21DA90e9DlE05, 888 

1580 DATA CA18FAA203A9019D1E05A9FF9D3C 

05BD97139D7805858FBD9B139D5A85858EA988 

9D8e85Ae00918EC818698191, 589 

1598 DATA 80CA10D4A98885D8ASBC38E9014A 

4A4A85E5A98338E5E585E7AABDC11385E585D4 

85E6A6E7BDB9138588BDBD13, 39 

1600 DATA 8589A28CA588187D9F13858EA4E6 

99C286A5897DAC13858F99F606A9ei992Ae7A8 

e0A9eC918ECS186981918EC6,247 

1618 DATA EeCA10D3C6E710ClA9208599858F 

A983SS98858EA906A00e918EC8186981918E28 

E112A9e885BF60AD0AD229Fe,944 

1620 DATA 090285CEA284AD8AD229F01D2113 

9DC482CA10F2ADC5028DC2e28DC38268A51418 

6946C514D0FC4CE2182065E4,913 

1630 DATA A287A9889D8eD2CA10FA8D88D268 

888A8804000e0405060789131D27313B454F59 

633F8C3FlF80014eeC401F00,474 

1640 DATA 013F213F34000140214e34000129 

203E20ei00412056200100880288FEFF8000FF 

010081010101010000088000, 313 

1650 DATA 010001000088e8E88040404e40FF 

OOFFOOFFOOFFOOFFOeOOOOOOFFFFFFFFFFFFFF 

01FFFFFF03FF0200FF2E3030, 278 

1668 DATA 31BF3945BF80888eFE82827E7ES2 

84FC00000000FFFF00FF80FF8888FFFF811F5F 

lF5F283838280C1926330e08 , 224 

1678 DATA 181S2028787888AeA8B0B8C80e00 

e00e000880eeAAAAFFFFFFFFAAAA10810e044e 

888140081001400408110040, 592 

1680 DATA 0100044001001010010040011088 

84e8000e00ee0000000104ei828B2F2F8A40ie 

058eEeF8F8AeFF6eeee66e66 , 7ei 

1698 DATA 66FFFF646464646464FFFF68606e 

6e6060FFFF4e48404e4040FFFF00e000ee0e08 

FFF0108D5614AD8AD2CD5614,925 

1780 DATA 98854A4A4C4B1468888E5614A5CC 

8AAABDC70F1865CB8580BDC80F8581AE56146e 

0e0000080000A599CD590EB8 , 122 

1710 DATA 84A900F007CD688E900AA9ei8DeE 

15A2048E7015AD7015F041AD6E15D018C6Alie 

38A5C0C5C4D005E6A14CD014 , 138 

1728 DATA A987S5A1C6C04CCA14E6A1A5A1C9 

08901CA5C0C5C6D005C6A14CD014A90085A1E6 

CeCE70154CD514A9008D7015,998 

1730 DATA A5AlSD05D4AD58eE297F8D6D15A5 

98297F38ED6D15C91E90e4A9e0F006C9eFB00A 

A9018D6F15A90C8D7115AD71,e85 

1740 DATA 15F041AD6F15F01CE6A0A5AeC904 

9e34A5ClC5C3D005CeAe4C4115A90085A0C6Cl 

4C3B15C6A0181CA5C1C5C5D8 , 554 

1750 DATA 05E6A04C4115A9e385A0EeClCE71 

154C4ei5A9e08D7115A5Ae8D84D4A6BABC7882 

C00FF00ACC6215F005B9SE15 , 619 

1760 DATA 85E88C621560008381010082e882 

8003e00e00000000A5C7SDDD15AEDD15B4E8B5 

EDD9E1159005B9E01595EDD9,989 

1770 DATA E01590F6eAA8B9F315858AB9F415 

858BADDD158AA8B9E915858CB9EA15858DAe8F 

B18A918C88ieF9CEDD1510Cl,96 

1780 DATA CEDE151018A5CF8DDE15A6BABD78 

82C98FF002E6EDCEDF15100CA5D18DDF15A6C7 

F6EDCAD0FB600e0303000408,781 

1790 DATA 0C10151F252830e440e450e4e004 

900443165316631653167316831693168316A3 

16B316C316B316D316E316F3,951 

1800 DATA 16E3168317131723173317431753 

176317731783179317A3179317831773176317 

B317C317D317E317D317C317,328 

1810 DATA F317031813180C8209C235CA3502 

3e8060835CA35C800302e902F50AF502Ce8060 

805FA05F800Ce2090235CA35,942 

1820 DATA C2308060805CA35C830C33199999 

19330CC0002398982300C03333199999193333 

0000209B9B200e00CC331999,621 

1830 DATA 991933CC00e02398982300000300 

C82626C88e8330CC64666664CC300000e8E6E6 

880000CCCC64666ee4CCCCOO,514 



PAGE 46 



ANALOG COMPUTING 



ISSUE 23 



1840 DATA eeC82626C8ee8e33CC646e6664CC 

33e235CA35C2e982eC805CA35C836e883e02F5 

8AF582e9e2e38e5FAe5F8ee8 , 529 

1858 DATA 88CeC235CA3502e982eC835CA35C 

886e8e38388C82898932C08868838C68688e38 

8CeeFe8E09898E3e388C6CBe, 681 

1868 DATA 6Q68B08Fe88e88F289e9828CeC30 

3888606e8F808883888239C9828380eece8e63 

6C888eC88Ce3828939C2ee88, 381 

1878 DATA 88e8836Cee8eC83888888e818188 

Ae2888eA284e488e888e80888881812888e88e 

282848488888688888088189 , 644 

1880 DATA 8288888800806048888888888882 

89010008888888804860800800000828818188 

888880eee040402828ee20Ae , 676 

1890 DATA 8881818e80000e00e04O402e0Ae8 

e8e88eABABeoeeooooeoooEAEAoeoeeoo80oeE 

28288E08000000B02828Bee0,214 

1900 DATA 00003202088882328eee8C8e2020 

888Ce0C2020200e88282C2838088e880888883 

880000820200000088888088,236 

1910 DATA 8888888808800104040100000000 

4010104e00008883883e30e883888eC888eC8C 

88C8802029184C7E18C6DeD8, 981 

1928 DATA 58A98385DeA6BABD10D0De45B5A7 

C905B03FADEA8EC91SF838A283B5B1C9FFF886 

CA18F74C7D18E6A7A59895A9 , 298 

1930 DATA A59995ADA5E895B1A91495B5A906 

85A5A6B9FEE88EBDE00EC918D888A5B9C90AF0 

02CeB960A203B5BlC9FFD0e3, 836 

1948 DATA 4C0419B5A98584B5AD8585A800B1 

84C912F884C911D007A98E9184CS9184B5B118 

89A9FF95BlC6A74C8419A8B5,43e 

1958 DATA A9187914198584B5AD79181985S5 

A000B184297FF826C90EFe224SA98e95B168C9 

eiFe2DC90FF029C98CF82520, 553 

1960 DATA 0B19A9119184C89184A91585A6D8 

15A9129184C818e9819184200B19D6B51004A9 

eiD0C9CA3e034C881860A584 , 254 

1978 DATA 95A9A58595AD688882FE80FF00FF 

e8A98085DAA94285DEA91185DBA5DAC98D9887 

38E98DAeee84DBAAA59ei87D, 147 

1988 DATA 9F138592A5917DAC138593A8e0A5 

DB9192C89192205A19E&DAA5DAC91AD0CB60A2 

83A8FF88D0FDCAD0F86eA6DC , 865 

1990 DATA BD5E8eC9FFD04CBD9e058594BDFA 

858595A888B194C98FFeieC98CD007A9889D5E 

86D82FA90F9194A9ieC89194,600 

2008 DATA D81FA003A594187959138596A595 

795D13859784C2A00eB196C912F004C906De0A 

A93C9D5E06CAieAA3808A4C2 , 671 

2818 DATA 8838Fe4C9819A6DCBD5E063e44BD 

9e058590BDFA058591A080B190D004A90FDe04 

A980519e9190C81869019198,7 

2828 DATA A9808D86D2A9888D87D2DE5E86D8 

15A9888D07D2A98e9D5E8e86DD84C2201C19Ae 

DDA4C2CA10B468A6E586E6BD, 781 

2030 DATA 2A07D0034C721ABDC20e8588BDF6 

e68589A888B188C98CFei5C6D43e8CA9889D2A 

87A98985C84C721A68684C82 , 559 

2848 DATA 89A9e385D2AD0AD22903A8BDC28e 

18795913858EBDF68679SD13858FA888B18EF0 

0CC90EF8e8CeD210DBCA10A3,773 

2050 DATA 68A90E9188C8918888A98C918EC8 

186981918EA58E9DC206A58F9DF6ee4C721AA0 

0eF818A2e2B59A759D959A94,288 

2868 DATA 9DCA18F5D8A91085ElA280Ae00B9 

9A0028BDlAE8E8C8C8e3D8F36885E2298F05El 

9D098FA5E24A4A4A4Ae5E19D,881 

2870 DATA e88F6eA85084ElA5BDA2eB4CBDlA 

A5E3308589908DlB8F608e8800000e80008888 

eee8eooeeo88ooooo80Meo8 , 292 



CHECKSUM DATA. 

(see page 25) 

10 DATA 984,351,496,811,423,729,200,60 

3,555,573,694,613,29,205,226,7412 

160 DATA 754,198,962,637,491,30,155,15 

6,198,665,50,84,24,201,781,5386 

1860 DATA 982,627,576,799,844,892,794, 

971,870,882,2,928,665,988,837,11577 



1218 DATA 44,455,968,158,858,67,818,99 

1,6,791,966,30,392,960,51,7555 

1360 DATA 804,382,581,337,968,2,386,50 

,131,154,189,177,25,198,918,5126 

1518 DATA 144,841,996,731,735,158,998, 

918,393,924,956,737,618,884,928,18945 

1660 DATA 802,311,958,773,776,828,48,6 

1,884,933,633,398,287,166,274,8188 

1818 DATA 430,374,441,468,337,83,694,5 

58 , 901 , 761 , 866 , 280 , 129 , 795 , 841 , 7878 

1960 DATA 515,97,9,144,727,569,991,838 

,937,5,986,192,5930 



Assembly language listing. 





-OPT NO LIST 


i • 


FIREBUG 


• 


1 • b 


^ Kv 


1« P*acock • 


1 • i. t 


a* Hudson * 


1 • ANALOG 


Conpu 


tlna * 


t • All 


Rig 


Its RMBrvid • 


1 Radaflnad 


Ch«r«c 


tmru bv 


1 Jan 


Ball — 6/26/84 


1 CONSTANTS 






SAMESET 


. 


• ■400 


•CHARACTER SET 


PLAYBS 


■■ 


»e» 


)P/M BASE ADDR. 


SCREENBASE - 


*2«ee 


■BOARD RAM. 


HISS 


H 


PLAYBa+768 IHISaiLEa 


BOMB 


- 


IS 




1 ZERO PABE 


USAGE 




' 


• • 


«a« 




LO 


ttw 


»+2 


12-BYTE POINTERS 


BHB 


*W 


•+2 




ZLO 


»m 


•+2 


IZ-PA8E POINTER. 


LOU 


#- 


»+2 


IZ-P8AE POINTER. 


HLO 


»■ 


»+2 




DRHLO 


»« 


»+2 


(CHAR DATA PNTR. 


PLLO 


» — 


»+2 


ICHAR WORK PNTR. 


ADL 


*m 


•+2 




ELO 


• ■ 


»+2 




EL02 


»■ 


»+2 




BLO 


»* 


»*2 




BL02 


• M 


»+2 




BU8L 


• ■ 


»+2 


IFIREBUG X it Y. 


SCORE 


»■• 


• ♦3 


IBCD SCORE VALUE 


SCQADD 


»« 


»+3 


1 SCORE ADD VALUE 


HBIT 


»■ 


»♦! 


IHSCROL RAM COPY 


VBIT 


»» 


»+l 


IVSCROL RAM COPY 


DI8QIN 


• B 


• •H 


IDIBBING FLAG 


CHANSEl 


• ■ 


»+l 


■MATINS SOUND 1. 


CHANQE2 


• ■> 


• +1 


■MATINS SOUND 2. 


BULLNOISE •- 


»+l 


■BULLET NOISE 


BOOMNOISE *- 


»♦! 


■BULLET NOISE 


NOBULL 


»- 


»*2 


■SPARKS FIRED. 


BULLX 


• » 


»+4 


I8PARK X-COORD. 


BULLY 


• a 


»** 


■SPARK Y-COORD. 


BULLDIR 


• m 


•+4 


■8PARK DIRECT. 


BULLTIHE 


»w 


•+4 


■SPARK LIFE 


BULLPNT 


»N 


»+l 


■BAR LINE PNTR. 


PLAYNO 


»a 


• +1 


■PLAYER UP. 


8TARTLEVEL • 


- • + ! 


■STARTINB LVL. 


LEVEL 


»ai 


»♦! 


■CURRENT LEVEL 


BCDLVL 


*« 


»♦! 


■BCD LEVEL • 


TIMER 


tt> 


• +» 


■GENERAL TIMER 


V8T0P 


>■ 


»+l 


■HALT FLAB. 


YPOINT 


»> 


• ♦1 


■BOARD Y-COORD. 


XPOINT 


»» 


»+l 


■BOARD X-COORD. 


YTEMP 


• * 


• +1 


■Y-RE8 TEMP HOLD 


MINX 


»v 


»+> 


■MIN X VALUE 


MINY 


• * 


»+l 


■MIN Y VALUE 


MAXX 


»a 


»+l 


■MAX X VALUE 


MAXY 


• ■ 


»+l 


■MAX Y VALUE 


MAXBUaa 


»" 


»+I 


I* OF CHARl 


EATNOISE 


»■ 


»+l 


■ EAT INS SOUND 


SENTIM 


«B 


»+l 


■MATING TIMER 


GENCTR 


• - 


• +1 


■MATINS COUNTER 


XCOORD 


»a 


»+l 


■X COORDINATE 


VCOORD 


♦ — 


»+! 


■Y COORDINATE 


LI3TP0INT •- 


»+l 


■D-LI8T PNTR. 


NEMBACK 


»■ 


• +1 


■BOARD B-COLOR. 


MOVETIME 


»v 


»+l 


■MOVEMENT TIMER. 


FIRETIME 


»- 


»+l 


■FIRINB TIMER. 


PHABETIME •- 


»+l 


■PHASE TIMER. 


ETRY 


• " 


»+l 




QLDVAL 


*« 


•+1 


■OLD CHAR 


ES8S 


»a 


• ♦1 


■BABY COUNT 


ENIX 


• - 


»-H 


■ENEMY INDEX 


ONEHIX 


»" 


• ♦1 


■SENERATION INDX 


NEWTYP 


«> 


• +1 


INEH ENEMY TYPE 


BENPLS 


»" 


»♦! 


■MATINS FLAB 


BUST I M 


»■■ 


•+1 


■BUS TIMER 


EXPPH 


»•• 


• +1 


■EXPLOSION PHASE 


EXPCHR 


»■ 


»+t 


■EXPL. CHARACTER 


BOMBCT 


*■ 


»♦! 


■• OF BOMBS 


XTEMP 


»■ 


»*! 


IX SAVE AREA 


EXNOISE 


»" 


1*1 


■EXPLOSION SOUND 


ARMTIM 


»« 


• •n 


■BOMB ARM TIMER 


BULTIM 


• ■1 


»+l 


■BULLET TIMER 


SHCOLR 


»" 


»+l 


■TEXT COLOR 


SHOBYT 


*m 


•+1 


■TEXT CHAR 


LIVES 


• m 


•+1 


■• OF BUBS LEFT 


ECOUNT 


♦ " 


•+> 


)• OF BABIES 


ESSTOT 


»» 


• +t 


■• OF EGOS 


ESBIX 


»« 


»+l 


■BABY INDEX 


EOROUP 


• > 


• +1 


■BABY GROUP » 


TYPE 


• > 


•+3 


iCHAR. TYPE. 


PHASE 


• « 


•+3 


■CHAR. PHASE. 


1 RAM USAGE 






1 


«« 


•0500 




ETYP 


♦ - 


• ♦30 


■ENEMY TYPE 


EACT 


»« 


•+30 


(ENEMY ACTIVE 



ISSUE 23 



ANALOG COMPUTING 



PAGE 47 



EDIR »- 


»+3e (ENEMY DIRECTION 


EADU »- 


»+3a (ENEMY ADDR LO 


EADH •- 


»+3B (ENEMY ADDR HI 


BOMBL •- 


»+10e (BOMB ADDR LO 


BOMBH *> 


**iea (BOMB ADDR HI 


ARMED ». 


in-lBm (BOMB ARMED FLAB 


EGBL •- 


»+S2 (BABY ADDR LO 


EBSH »- 


»*S2 (BABV ADDR HI 


EQQACT ». 
1 »»»•»»»»• 
1 * MASTER 

1 »*****«»«irwwT.»-WWWWWWWW 


n-32 (BABY ACTIVE 


EQUATE FILE > 


1 

1 I/O Routines 


D8KINV • 


*E4a3 


SIOINV 


*E46S 


1 

9 Qpar«tlng 


Systaa Equataa 


CASINI 


*02 


DOaVEC 


»0A 


DOS INI 


*0C 


ATRACT 


• 4D 


POKHSK 


*t0 


BRKKEY 


*11 


RTCLOK 


*t2 


VDHLST 


•0200 


VIHIRO 


•0216 


CDTMVl 


«0218 


CDTMVZ 


•021A 


CDTMV3 


•021C 


CDTMV4 


•021E 


CDTHV3 


*0220 


CDTHAl 


•022& 


CDTMA2 


•0228 


CDTMF3 


• 022A 


CDTI1F4 " 


• 022C 


CDTMF3 


• 022E 


SRTIMR 


• 022B 


3DHCTL 


• 022F 


8DLSTL - 


• 0230 


SDLSTH 


• 0231 


aSKCTL 


• 0232 


LPENH 


• 0234 


LPENV 


•0233 


QPRIQR 


•026F 


PADDL» 


• 0270 


STICKS! 


• 0278 


3TICK1 


»027'? 


STRIQ0 


• 0284 


SHFLK 


• 02BE 


PCOLR0 • 


•02C0 


COLOR0 


• 02C4 


COLOR 1 


• 02C3 


C0L0R2 


• 02C6 


COLORS 


• 02C7 


COLORA 


• 02C8 


MEHLO 


• 02E7 


CHART 


• 02F3 


CHBAS 


• 02F4 


CH 


• 02FC 


DDEVIC 


• 0300 


DUNIT 


• 0301 


DCOMND 


• 0302 


DSTATS • 


• 0303 


DBUFLO 


• 0304 


DBUFHI 


• 0303 


DTIMLO 


• 030& 


DBYTLO 


• 0308 


DBYTHI 


• 0309 


DAUXl " 


• 030A 


DAUX2 « 


• 030B 


iccon 


• 0342 


ICBAL 


• 0344 


ICBAH 


• 0343 


ICBLL 


• 0348 


ICBLH 


• 0349 


ICAXt 


• 034A 


ICAX2 


• 0348 


CIOV 


•E436 


3I0V 


• E4&S 


SETVBV 


• E43C 


3YSVBV 


•E43F 


XITVBV 


•E462 


OSRETN 


• E474 


CLICK 


• FCDB 


1 H«riHi«r« R 


■gt fltara 


HPOaP« 


•D000 


HP08P1 


• D001 


HP0SP2 " 


• D002 


HP08P3 


• D003 


nepF 


• 0000 


MIPF 


• D001 


M2PF 


• D002 


M3PF 


• 0003 


HPOSMO 


• 0004 


HP08M1 


•0003 


HPDaM2 


• 0006 


HP08M3 


• 0007 


PBPF 


• 0004 


PIPF • 


•0003 


P2PF 


•0006 


P3PF 


• 0007 


M»PL 


• 0008 


MIPL 


• 0007 


M2PL - 


• D00A 


nspL 


•O00B 


PBPL 


• O00C 


PI PL 


• D00D 


P2PL 


•D00E 


P3PL 


• D00F 


SIZEPB 


• D008 


8IZEP1 


• 0009 


31ZEP2 


• D00A 


aiZEP3 


• D00B 


StZEM 


• O00C 


QRAFPB 


• D00D 


BRAFPl 


• O00E 


8RAFP2 


• O00F 


aRAFP3 


• 0010 


TRiaB 


• 0010 


QRAFM 


• 001 1 


COLPH* 


•D012 


CQLPMl • 


• D013 


C0LPM2 


• 0014 


C0LPM3 


• 0013 


COLPFB 


• D016 


COLPFl 


• D017 


C0LPF2 


• D01B 


C0LPF3 


• 0019 


COLBK 


• D01A 


PRIOR 


• D01B 


VDELAY 


• D01C 


GRACTL 


• 0010 


HITCLR - 


• D0tE 



CONSOL 

POT0 

AUDFl 

AUDF2 

AU0F3 

AUDF4 

AUOCl 

AUUDC2 

AU0C3 

AUDC4 

AUOCTL 

ALLPOT 

KBCODE 

STIMER 

RANDOM 

SERIN 

aKREST 

POTSO 

8ER0UT 

IRQEN 

IRBST 

3KCTL 

3KSTAT 

PORTA 

DMACTL 

CHACTL 

OLISTL 

DLISTH 

H3CR0L 

V8CR0L 

PMBA8E 

CHBASE 

U3YNC 

VCOUNT 

PENH 

PENV 

NMIEN 

NMIRE8 

NMIST 

I 



• D01F 

• 0200 

• 0200 

• 0202 

• 0204 

• 0206 
•020 1 

• 0203 

• D20S 
•D207 
•D208 
•D20B 
•D209 
•0209 
•D20A 
•D20A 
•D20A 
•D20B 
•D20C 
•D20E 

• D20E 

• O20F 

• O20F 

• 0300 
•D400 

• 0401 

• 0402 

• D403 

• D404 

• 0403 

• 0407 

• 0409 

• O40A 

• O40B 

• D40C 
•D40D 

• D40E 

• O40F 
•O40F 

• 0800 



7IIIAITM0RE 



LDA CH 
CMP ••21 
BNE 7PAU8E 
LDA SKSTAT 
AND ••04 
BEQ 7PAU3E 
LDA ••Ol 
STA VSTOP 
8TA CH 
J3R aOUNDOFF 

LDA CH 
CMP ••21 
_BNE 7MA1T 

"lda SKBTAT 
AND ••04 



BEQ 7MAITM0RE (YE8, BRANCH 



tprog Btart 



FIREBUB I8NITI0N 
Toa Hudlan li Kvla Paacock 



Kyla 



RELOCl 
REL0C2 



LDA ••24 (RELOCATE PROS 

8TA HLO+1 (TO ^0800 

LOA ••08 (FROM *2400 

STA LO+1 ( (DISK ONLY) 

LOA ^0 

STA HLQ 

BTA LO 

LDY US 

LDA (HLOl.Y 

STA <L0),¥ 

DEY 

BNE RELQC2 

INC LO+l 

INC HL01-1 

LDA HLQ+l 

CMP ••38 

BNE RELOCl 

JMP DIBIN 

LDA ^^22 (TURN ON 

STA aOMCTL (SCREEN 
LDA ••04 (NUMBER OF CHARs 
STA MAXBUQS (TO MANIPULATE. 
LDA •*0t (STARTING LEVEL 
STA STARTLEVEL ( IS ONE. 

LDA •*01 (SET UP. 

STA LISTPQINT (DISPLAY LIST. 

STA HP03M2 (PLACE BORDERS 

STA HP03M3 (OFFSCREEN. 

STA VSTOP [HALT VBLANK. 

JSR SOUNDOFF (SOUNDS OFF. 

LDA ^^06 (SET ACC. 

LDX »VBLANK/236 (HI ADDR. 

LDY »VBLANKI.23S ( LO ADDR. 

JSR SETVBV (VBLANK INIT, 

LOA ••07 (SET ACC. 

LDX •DBLANK/236 (HI ADDR 

LDY •DBLANKI<233 ( LO ADDR. 

JSR SETVBV [DBLANK INIT. 

LDA ••CB (SET ACC. 

STA NMIEN (ENABLE DLIa 



LDA CONSOL 
CMP ^7 
BEQ 7PRE8a 
STA 7PREV 



BAMECONT 



LOA ••00 
STA VSTOP 
BTA CH 

LDA ARMTIM 
BNE CHKBUL 
LDA •I 
BTA ARMTIM 
JSR ARMBOM 

LOA BULTIM 
BNE CHKBUa 
LDA ^3 
STA BULTIM 
JSR 8PARK 
LDA BUSTIM 
BNE NOFBMV 
J3R MOVBUa 
LDA DiaSIN 
BEQ 7EIBHT 
LDA •ll 
BNE 7BQTaPD 

LDA •a 

STA BUBTIM 

LDA BENFLB 
BEQ NOSTST 
LDA BENCTR 
BNE NOaTBT 
LDA ^60 
STA BENCTR 
DEC SENT I M 
BNE NOBTST 
LOA •0 
STA SENFLB 

LDA TIMER 
BEQ DOENMY 
JMP MAINLN 
LDA LEVEL 
LSR A 
CMP »16 
BCC 7aOTNEM 
LDA •IS 

TAX 

LDA ENSPEED, 

STA TIMER 

JSR ENHQVE 

JSR BMOVE 

LDA ECOUNT 

BNE BAMECONT 

INC LEVEL 

SED 

LDA BCDLVL 

CLC 

ADC •! 

STA BCDLVL 

CLO 

JSR SHOLVL 

J3R INIT3 

JMP NEULVL 



18 KEYBOARD 

aPACEBAR7 

IF NOT, BRANCH! 

STILL H0LDIN8 

DOMN KEY7 

IF YES, BRANCH! 

HALT VBLANK. 
CLEAR CHAR. 
(SOUNDS OFF. 

IF SPACEBAR 
PRESSED? 
NO. BRANCH! 

18 SPACEBAR 
at ILL HELD7 



CLEAR 

aTART VBLANK. 

RESET CHAR. 

TIMER ELAPSED? 
NO! BRANCH! 
RESET TIMER. 

SUBROUTINE. 

TIMER ELAPSED? 
NO! BRANCH! 
RESET TIMER. 

SUBROUTINE. 
TIMER UP? 
NO! BRANCH! 
SUBROUTINE. 
RESET TIMER 

DISaiNB. 



NOT DIB8IN8. 

SAVE TIMER. 

MATINS aEASON? 

VEB! 

SECOND ELAPSED? 

NO! 

SET TIMER TO 

1 SECOND 

1 LESS SECOND 

NOT ZERO! 

TIME TO START 

MATINQ SEASON! 

TIMER ELAPSED? 
YES, DO ENEMIES 
NO! BRANCH! 
RESET ENEMY 
BUS MOVEMENT 
TIMER ACCORDINa 
TO LEVEL OF 
SAME. 

CLEVEL 30 MAX.] 

SAVE TIMER. 

MOVE ENEMIES 

MOVE BABIES 

ANY ENEMIES? 

(YES! 

NO ENEMIES, 

ADVANCE LEVEL 



(HERE TOM?!? 
(SHOW NEH LEVEL 
(RE-INIT 
(AND PLAY! 



7NUHBASE 



(BET CONSOLE. 
(UNTOUCHED? 
(IF -0 BRANCH! 
(SAVE CONSOLE. 



JMP MAINLN (LOOP BACK! 
.BYTE 20,19,18,17,16,13 

.BYTE 14; i3;»2;ii; 10;9 

.BYTE 8,7,6,3 

.BYTE «lF,^lE,^lA,^tS,^lD 
.BYTE •tB,^33,*33.^30 
.BYTE • 



JMP 7N0PRE8B (JUMP ON IT! 



LDA 7PREV 
CMP 06 



7SQTANUM 



IPREV. CONSOLE. 

(START PRESSED? 
BEQ 7VAR0aM (IF -6 BRANCH! 
LDA SKSTAT (KEYBOARD KEY 
AND ••04 [STILL PRESSED? 
BEQ 7N0PRESB (IF •0 BRANCH! 
LOA CH [BET CHARACTER. 
LDX ••08 (SET INDEX-X. 

CMP ?NUMBASE,X (IS CHAR A •? 

BEQ 7aOTANUM (YES! BRANCH! 
DEX [NO. RESET PNTR. 

BPL 7NUMC0MP (HANDLE ALL. 

SMI 7N0PREaS (NO •• PRESSED. 

STX STARTLEVEL (SAVE aTART- 

INC STARTLEVEL IINB LEVEL •. 

STX BCDLVL 

INC BCDLVL 

J3R SHOLVL 

J3R 3ETC0L0R8 

LDA ••FF (RESET KEYBOARD 

STA CH [CHARACTER. 

JMP 7N0PREa8 [JUMP ON IT. 



LDA ••00 
STA 7PREV 
JSR INIT 



(RESET PREVIOUS. 
( INITIALIZE 



MAINLN 

( 

I SAME PAUSED? 



LDA »*II0 

STA VSTOP 

8TA LISTPOINT [SET DISPLAY. 



(CLEAR. 

(START VBLANK. 



LDA CONSOL (CONSOLE BUTTON. 

CMP ••07 (UNTOUCHED? 

BEQ 7PCHECK (YE8. BRANCH! 

JMP I8NITE (RESTART ALL!!! 



( 








I » FIREBUS DEATH/ENEMY MOVER • 


1 » 


BY 


Toa Hud 


■ on * 


(FIREBUB DEATH 




DEAD 


LDA 


BUOL 


(aET EXPLOSION 




STA 


ELO 


[POSITION - TO 




LOA 


BUaL+t 


(BUS'S LAST 




STA 


ELO+1 


(POSITION 




JSR 


EXPLOO 


[BOON! ! ! 




DEC 


LIVES 


1 1 LESa LIFE 




BMI 


QANOVR 


(SAME OVER IF <0 




JSR 


SHGLIV 


ISHOH LIVES 




JSR 


IN1T3 


[RE-INIT LEVEL 




JMP 


NEWLVL 


[AND RESTART! 


(SAME OVER! 






BAMOVR 










JSR 


INIT3 


(RE-INIT 




JMP 


IQNITE 


(AND SHOW TITLE 


1 ENEMY 


MOVER 






ENMOVE 


LDA 


• 


[ZERO. . . 




STA 


ECOUNT 


(ENEMY COUNT 




LDX 


• 29 


(30 ENEMIES MAX 


ENLP 


STX 


EN IX 


[SAVE INDEX 




LDA 


EACT.X 
ACTI&E 


(ACTIVE? 




BNE 


[YES! 




JMP 


NXTEN 


IND, NEXT ENEMY 


ACTIVE 


LDA 


EADL.X 


(SEt. . . 




STA 


AOL 


(ENEMY'S. . . 




LDA 


EADH, X 
AOL+1 


(ADDRESS. .. 




STA 


( IN POINTER 




LDY 


• 


(BET THE CHAR 




LDA 


<ADL) ,Y 


(FROM DIBPLAY 




CMP 


ETYP, 5 
ENMYOK 


(ENEMY OK? 




BEQ 


(YES! 




LOA 


• 


[UH-OH, HE'S NO 




STA 


EACT, X 


(LONSeA ACTIVE! 




LOA 


• 12 


[BET ENEMY'S 




SEC 




(SCORE VALUE 



PAGE 48 



ANALOG COMPUTING 



ISSUE 23 



SBC ETYP.X 

AND »*06 

ASL A 

AaL A 

ASL A I AND PUT IN 

STA BC:0ADD'>'2 I ADD VALUE 

jaR ADDSCa I ADD TO SCORE 

JHP NXTEN I NEXT ENEHY ! 

LDA ta I RESET MOVEMENT 

STA OK-^e I TO CHARa 8 

STA OK+ie lAND 10 

LDA GENFLS I MATINS SEASON? 

BNE SENDUN I NO ! 

LDA *1 I8ET. . . 

LDY ETYP.X I ENEMY TYPE'S... 

STA OK,Y I OK FLAS 



GENDUN 
PR I LP 



I PRIORITY MOVE CHECK 
I 

LDA HkZ 

STA BNEMIX 

LDY GNEWIX 

LDA EADL.X 

ADC OIRAOL.Y (OFFSET 

STA ADL I TO 

LDA EADH.X (ENEMY'S 

ADC DIRADH.Y (ADDRESS 

STA ADL-cl 

LDY •> 

LDA (ADD.Y 

AND aaTF 

STA OLDVAL 

TAY 

LDA OK , Y 

BEQ NOPRI 



(TRY 4 DIRS. 
(SAVE IN INDEX 
(SET INDEX 

(ADD 

DIRECTION. . . 



(LOAD THE BYTE. . 
(IN THAT DIR. 
(MASK HI BIT 
(SAVE OLD VALUE 
(CHAR • IN Y 
(CAN ME 80 THERE7 
(NO! 



LDA CHANCE, Y (SET CHANCE 



CMP ••FF 

BNE NOPRI 

LDA BNEWIX 

STA EDIR.X 

JSR EXMOVE 

JMP NXTEN 

DEC SNEWIX 

BPL PRILP 



(leex CHANCE? 

(NO! 

(BET DIRECTION, 

(SAVE DIRECTION, 

(MOVE enemy; 

(NEXT ENEMY 

(NEXT DIRECTION 

(KEEP CHECKIN* 



INO PRIORITY MOVE, SO LET'S 
(A RANDOM DIRECTION! 



TRY 



LDA «4 
STA ETRY 
LDA EDIR.X 
BPL SETDIR 
LDA RANDOM 
AND »3 
STA EDIR, X 
JSR DIRCHK 
BPL NXTEN 
DEC ETRY 
BPL QETBIR 
LDA ttFF 
STA EDIR.X 
LDX ENIX 
LDA EACT.X 
BEQ EDEAD 
INC ECOUNT 
DEX 

BMI ENDONE 
JMP ENLP 
RT8 



(TRY 3 DIRS. 
(SAVE INDEX 
(SET OLD DIR. 
( IT'S MOVINS! 
(RANDOMIZE A 
(DIRECTION 
(SAVE DIR. 
( 13 THAT DIR QK? 
(YES! 

(NEXT DIR. 
(AND LOOP BACK 
(DIDN'T MOVE! 

(BET ENEMY INDEX 

[ACTIVE? 

(NO! 

( 1 MORE ENEMY 

(NEXT ENEMY 

(IF <e. FINISHED 

(LOOP BACK. 

(ALL DONE! 



DIRCHK 



ENDONE 

( 

(DIRECTION CHECK SUBROUTINE 

( 

TAY (MOVE DIR. TO Y 

LDA EADL.X (NOW ADD 

CLC (DIRECTION 

ADC DIRADL.Y (OFFSET 

STA ADL (TO ENEMY'S... 

LDA EADH.X (POSITION 

ADC DIRADH.Y 

STA ADL+1 

LDY #0 (SET THE BYTE.. 

LDA (ADL>,Y (FROM DISPLAY 



AND ItSTF 

STA OLDVAL 

TAY 

LDA OK.Y 

BNE OKMOVE 

LDA ttpF 

RTS 



(MASK HI BIT 

(SAVE OLD CHAR 

(SET CHAR IN Y 

(CAN ENEMY MOVE? 

(YES! 

(NO! 

(RETURN 



LDA CHANCE, Y (BET CHANCE 
CMP RANDOM [MOVE OK? 



BCC NQMOVE 

LDA EADL,X 

STA HLO 

LDA EADH.X 

STA HLO+i 

LDA «0 

TAY 

STA (HLO).Y 

INY 

STA (HLOl.Y 

DEY 

LDA ETYP,X 

STA (ADl!,Y 

INY 

CLC 

ADC *1 

STA (ADL),Y 

LDA ADL 

STA EADL,X 

LDA ADL^i 

STA EADH.X 

LDA OLDVAL 

CMP ETYP.X 

BEQ GENIT 

JMP NOQEN 

LDA tt0 

STA EACT.X 



(NO! 

(BET ENEMY'S 

(OLD ADDRESS 



(ERASE OLD.. . 
(ENEMY IMAGE 



(BET ENEMY CHAR, 
(PUT ON SCREEN 



(UPDATE ENEMY.. 
(ADDRESS TABLE 



(SET OLD CHAR 
(SAME AS ENEMY? 
(YES, GENERATE! ! 
(NO, DON'T BEN. 

(ENEMY NOT 

(ACTIVE ANYMORE 



(THIS CODE BENERATES A NEW 
(GROUP OF ENEMY OBJECTS 
( 

LDA ETYP,X 

CMP va 

BNE TYPIB 
LDA #7 



(BET ENEMY TYPE 
(TYPE 8? 
(NO, TYPE 10! 
(TURN ON. . 



STA CHANGE 1 (CHANGE SOUND 1 



LDA ttl0 
BNE BNEH 
LDA #7 



(BEN TYPE 10 
(GENERATE 'EM! 
(TURN ON. . . 



STA CHANSE2 (CHANGE SOUND 2 



LDA »B 

STA NEWTYP 

LDA *3 

STA BNEMIX 

LDY QNEMIX 

LDA ADL 
CLC 



(BEN TYPE 
(SAVE NEM TYPE 
(SEN. 4 ENEMIES 
(SAVE IN INDEX 
(BET INDEX 
(BET ENEMY ADDR, 
(ADD 



ADC 


DIRADL.Y 


(DIRECTION... 


STA 


HLO 


(ADDRESS. . . 


LDA 


ADL+l 


(OFFSET 


ADC 


DIRADH,Y 




STA 


HLO-ft 




LDY 


•0 


(BET THE CHAR.. 


LDA 


(HLO) .Y 


(FROM DISPLAY 


AND 


• •7F 


(MASK HI BIT 


CMP 


»t 


( BORDER? 


BED 


NONEH 


(CAN'T BEN IT! 


CMP 


#6 


1FIREBUB7 


BEQ 


KILL 


(KILL HIM! 


CMP 


•8 


(ENEMY TYPE 87 


BEQ 


NONEH 


(CAN'T BEN! 


CMP 


#10 


(ENEMY TYPE 10? 


BEQ 


NONEH 


(CAN'T BEN! 


CMP 


#12 


(BABY BUB? 


BEQ 


KILL 


(KILL IT! 


CMP 


»1!5 


(BOMB? 


BEQ 


NONEH 


(CAN'T GENERATE 


LDX 


•Z? 


(SCAN FOR. . . 


SCANEM LDA 


EACT.X 
BOTNEH 


( INACTIVE ENEMY 


BEQ 


(BOT ONE! 


DEX 




(TRY NEXT SLOT 


BPL 


SCANEM 


(KEEP TRY INS 


LDA 


• 1 


(NONE AVAILABLE 


STA 


SENFLB 


(MATING OVER 


LDA 


• 100 


(HAIT 100... 


STA 


8ENTIM 


(SECONDS. 


JMP 


MOVEOK 


(PROCEED 


OOTNEH LDA 


• 1 


(SET ENEMY AS.. 


STA 


EACT,X 


(ACTIVE 


LDA 


• •FF 


(SET UP FOR. . . 


STA 


EDIR,X 


(NO DIRECTION 


LDA 


HLO 


[SAVE ENEMY. .. 


STA 


EADL , X 


[ADDRESS 


LDA 


HLO+l 




STA 


EADH.X 




LDA 


NEMTYP 


(BET NEM TYPE 


STA 


ETYP.X 
(HLO> ,Y 


[SAVE IN TABLE 


8TA 


(PUT ENEMY. . . 


CLC 




(ON SCREEN! 


ADC 


• 1 




INY 






STA 


(HLOJ.Y 




NONEH DEC 


BNEHli 


(NEXT GEN. 


BMI 


MOVEOK 


(ALL DONE! 


JMP 


GNEHLP 


(LOOP IF MORE 


nOVEOK LDA 


•• 


(8TATUS-0 (0K> 


RTS 




[RETURN! 


NOGEN CMP 


•6 


(HIT FIREBUB? 


BNE 


MOVEOK 


(NO, MOVE OK. 


KILL PLA 




(REMOVE. . . 


PLA 




(OLD. . . 


PLA 




(STACK. . . 


PLA 




(ENTRIES, 


JMP 


DEAD 


(KILL BUG! ! ! 



FIREBUG MOVEMENT ROUTINE 
BY Tom Hudaon 



LDA BUBL 
STA HLO 
LDA BUGL-rl 
STA HL0*1 
LDY ^0 
LDA (HLOJ.Y 
CMP •& 
BEQ BUGLIV 
BNE KILBUB 



(GET AND SAVE 

(FIREBUG ADDRESS 



(BET THAT. . . 

(DISPLAY BYTE 

(BUG OK? 

(YUP! 

(UH-OH! KILL HIM 



NOBMV 
TRYBMV 



(BET STICK 
(AND DIRECTION 
(TRY TO MOVE 
(NO MOVE! 
(ADD. . . 
[DIRECTION. . . 



LDX STICKe 

LDY SDIR.X 

BPL TRYBMV 

RTS 

LDA BUBL 

ADC DIRADL,Y (OFFSET 
STA ADL (TO. .. 
LDA BUSL+1 (BUB'S. . . 
ADC DIRADH,Y (ADDRESS 
STA ADL+1 

LDY ^0 [BET THAT 

LDA (ADL>,Y (DISPLAY BYTE 



(BORDER? 
(CAN'T SO THERE! 
( BABY? 

(CAN'T 80 THERE! 
(BOMB? 

[CAN'T ao THERE! 
[DIRT/TRAIL? 
[80 AHEAD! 
(BUG TRAIL? 
(GO AHEAD! 
(MUST BE ENEMY! 
(CLEAR STACK, 
(KILL BUB! 
(ENEMY TRAIL? 
(NO DiaaiNB! 
(BUB TRAIL? 
(NO DISaiNB! 
(SET DIB6IN8. . . 
(SOUND FLAB 
(AND ORAM BUS 
(TURN OFF. . . 
(DISBING SOUND 

(ERASE BUG 

(HITH BUB TRAIL 



(DRAM BUG. 

STA (ADLJ ,Y (IN NEM. .. 

INY (LOCATION 

CLC 

ADC »1 

STA (ADD.I 

LDA ADL 

STA BUBL 

LDA ADL-M 

STA BUGL*l 

RTS 
( ••»*•••>•••»•**»•« 
( » FIREBUG INTERRUPTS t< SOUND * 
( • BY Kyl« P«j[COClc » 

{ 

. LOCAL 
( 
VBLANK 

CLD (CHILL DECIMAL. 

( 
I RANDOMIZE DETONATION 

7JUNKIT '"'"' *' ICHANBE 8 BYTES. 
LDA RANDOM (RANDOM # 
AND #*33 (MASK FOR PF»0. 



CMP »1 
BEQ NOBMV 
CMP •12 
BEQ NOBMV 
CMP ^13 
BCS NOBMV 
CMP •& 
BCC OKGMV 
CMP #14 
BEQ OKBMV 
PLA 
PLA 

JMP DEAD 
CMP •« 
GEO NDTDIB 
CMP ^14 
BEQ NOTDIG 
LDA •I 
STA DIGGIN 
BNE DRHBUG 
LDA •a 
STA DIGGIN 
LDA ^14 
STA (HLO),Y 
INY 

STA (HLO>,Y 
DEY 
LDA •& 



(UPDATE BUS'S 
[ADDRESS 



(ALL DONE! 



STA 8AMESET*i;a»173.X (SAVE. 
DEX (HANDLE NEXT. 

BPL 7JUNKIT (NOT DONE-BRANCH 

SET UP CORRECT DISPLAY LIST 

LDA LI8TP01NT (D-LI8T PNTR. 
ASL A (MULTIPLY BY 2. 
TAX (MOVE A TO X. 

LDA ?DLISTBASE,X (LET'S 
STA SDLSTL (PAlNT THE 
LDA 7DLISTBASE'M, X ( 8ANG- 
STA 8DL3TL + 1 [GREEN, t< EAT 
LDA •QAMEDLIll<23a (FRANKS li 
STA VD3L8T (BEANS. 
LDA •SAMEDLI1/23& (C.B.I. IS 
STA VDSLST-H (ON THE MOVE. 

CHANGE TITLE SCREEN 



DEC 7SMITCHTIME I DEC TIMER. 
BPL 78MITCHD0NE [>0 BRANCH! 
LDA RANDOM I RANDOM • 
AND WtSF (MASK BITS 7 Ic A 
ORA ••OF (ADD BITS 0-3. 
STA 7SMITCHTIME (SAVE TIMER. 
INC 7FL0PFLIP (INC NAME 
LDA 7FL0PFLIP (T088LE FLAB. 
AND »»ai (EXAMINE BIT 0. 

ASL A [MULTIPLY BY 2. 
ASL A (MULTIPLY BY 4. 
TAX (MOVE A TO X. 

LDA 7SHITCHBA3E, X (GET ADDR 
STA SHITCHl (OF NAME DATA 
LDA ?SMITCHBASEt'l,X (AND 
STA SWITCHl-H (PLAcE INTO 
LDA ?3WITCHBA^E'^2,X (PROPER 
STA SMITCH2 1 AREA OF DISPLAY 
LDA ?SWITCHBASE'r3,X (LIST. 
STA SMITCH2+1 

?8MITCHDaNE 

( 

( HALT ATTRACT MODE? 



LDA VSTOP 
BNE 7VD0NE 
STA ATRACT 

SPARK REBENERATION 



(VBLANK HALTED? 

(YES! 

(ATTRACT MODE. 



7BENSET1 
7GENSETZ 



DEC 7REBEN (TIME UP? 

BPL 7REGEND (IF >0 BRANCH! 

LDA STICK0 [BET JOYSTICK. 

CMP #13 (CENTERED? 

BNE 7SENSET1 (NO! BRANCH! 

LDX ttag (CLEAR INDEX. 

BEQ 7BENSET2 (BRANCH! 

LDX DISBIN (BUG IN DIRT? 

LDA 7BEN8ET,X [REGENERATION RATE 

STA 7REBEN [SAVE TIMER. 

INC 7FLIPFL0P (INC TOGGLE 

LDA 7FLIPFL0P (FLAB. 

AND ••«! (EXAMINE BIT 0. 

BEQ 7REGEND (IF EVEN-BRANCH! 

LDX BULLPNT (GET POINTER. 

LDA BULLETLINE.X (DETERMINE 

CMP ^20 (IF HE SHOULD 

BNE 7BULLSET (MODIFY THIS 

CPX ^29 (CHARACTER OR 

BEQ 7REGEND (HOVE TO NEXT. 

INC BULLPNT (MOVE TO NEXT 

INX (CHARACTER. 

7BULLSET 

DEC BULLETLINE,X (MODIFY. 
7REQEND 
( 

( DECREMENT COUNT DOHN TIMERS 
I 

LDA BENCTR 

BEQ 7N0GENT 

DEC GENCTR 
7N0BENT 

LDA BULTIM 

BEQ 7N0BUL 

DEC BULTIM 
7N0BUL 

LDA ARMTIM 

BEQ 7N0AT 

DEC ARMTIM 



(TIMER ■ 07 
(YES. BRANCH! 
(NO. DECREMENT. 

(TIMER - 07 
[YES. BRANCH! 
(NO. DECREMENT. 



LDA TIMER (TIMER - 0? 

BEQ 7N0TIME (YES. BRANCH! 

DEC TIMER (NO. DECREMENT, 

LDA BUQTIM (TIMER - 0? 

BEQ 7N0BTIM (YES. BRANCH! 

DEC BU8TIM (NO. DECREMENT. 



FINE SCROLLING (REVISITED) 

JSR SCROLL 
7VD0NE 

UPDATE LMS POINTERS 

JSR SHIFTER 
VERTICAL BLANK DONE 

JMP SY3VBV 

* DEFERRED VERTICAL BLANK • 



(CHILL DECIMAL 



UPDATE CHARACTER SET 



JSR DRAM 
LDA VSTOP 
BNE 7DD0NE 



(DBLANK HALTED? 
(IF <>0 BRANCH! 



DISBING SOUND 

JSR DIBSDUND 
BUB TRANSFORMATION SOUND* 

JSR TRANSFORM 
FIRE EGG EATEN SOUND 

JSR CHOMP 



ISSUE 23 



ANALOG COMPUTING 



PAGE 49 



SPARK FIRIN8 SOUND 

JSR POPSUN 
DETONATION SOUND 

JSR KABOOn 
BOMB DETONATION SOUND 

JSR BOOHBOX 

DEF. VERTICAL BLANK DONE 

^DDDNE 

JNP XITVBV 

POINTERS' DATABASES 

7DLISTBASE 

.WORD GAMELIST 
.WORD TITLELIST 

7SUITCHBASE 

.WORD TITLE2 
.WORD TITLE4 
.WORD TITLE4 
.WORD TITLE2 



I FIRE ESe EATEN SOUND 
I 



• FIREBUB DLIa • 



PHA 
TXA 
PHA 
TYA 
PHA 



I SAVE ACC. 

I HOVE X TO A. 

I SAVE ACC. 

I HOVE Y TO A. 

■SAVE ACC. 



LDA •0AnE8ET/2S6 I BUB CHRa 



LDX **3F 



IDHA CONTROL. 



LDY NEWBACK (BACKBROUND. 

8TA WSYNC I SAVE IT. 

BTX DHACTL (SAVE IT. 

STY COLBK I SAVE IT. 

STA CHBASE I SAVE IT. 

LDA •SAnEDLI2t(23S I LOAD UP 

STA VDSLST IFOR NEXT DLL 

LDA •8AnEDLI2/236 ISAVE NEXT 

STA VDSLST-H IDLI ADDRESS. 

PLA 

TAY 
PLA 
TAX 
PLA 
RTI 



(RESTORE ACC. 
(MOVE A TO Y. 
(RESTORE ACC. 
(MOVE A TO X. 
(RESTORE ACC. 
(BOBBIE BABY.. 



PHA (SAVE ACC. 

LDA C0L0R4 (BACKBROUND. 

STA WSYNC (SAVE IT. 

STA COLBK (SAVE IT. 

LDA SDHCTL (OLD DHA CONTROL 

STA DHACTL (IS RESTORED. 

LDA •BAMEDLI3St233 (SET UP 

STA VDSLST (FOR NEXT 

LDA •aAHEDLI3/23& (DLI ADDR. 

STA VD8LST+1 ISAVE IT. 



I 
I 
I 

DISaOUND 



PLA 
RTI 

PHA 

LDA •*E0 

STA WSYNC 

STA CHBASE 

PLA 

RTI 



(RESTORE ACC. 
(BOBBIE BABY.. 

(SAVE ACC. 
(OLD CHR SET. 
ISAVE IT. 
(SAVE IT. 
(RESTORE ACC. 
(BOBS IE BABY. . 



DiaalNS SOUND ROUTINE 



LDA DIBBIN (BUB IN DIRT7 

BEO 7DIB0FF ( IF - • BRANCH! 

DEC 7DlBTinE I DEC TIHER. 

BPL ?DiaDONE (IF >0 BRANCH! 

LDA 1*03 (RESET DIBBINS 

STA 7DIBTlnE ITIHER. 

LDX PLAYNO (PLAYER NUMBER. 

LDA STICK*. X (READ JOYSTICK. 

CMP (US (CENTERED? 

BNE 7DIB0N l<> 13 - BRANCH! 



7DIBOFF 










LDA 


• »00 


(CLEAR. 




STA 


AUDCl 


(SOUND CHANNEL. 




BEQ 


7DIBD0NE (BRANCH! 


7DIB0N 










LDA 


#•46 


(SET UP 




STA 


AUDCl 


(SOUND CHANNEL 




LDA 


•220 


(SET UP 




STA 


AUDFl 


(SOUND FREO 1. 


7DiaD0NE 








1 BUB TR 


RT8 




(BEAM HE UP. . . 


RNSFORMATION 


SOUND 


TRANSFORH 








LDX 


CHANBEl 


(lat SOUND ON? 




BPL 


TRANl 


( IF >0 BRANCH! 




LDA 


• *00 


(SOUND OFF. 




STA 


AUDC2 


(CHANNEL 2. 




BEO 


TRAN2 


(BRANCH! 


TRANl 










LDA 


7CHANaEl.X (BET CORRECT 




STA 


AUDF2 


(FREO Ic SAVE. 




LDA 


»»A4 


(SET UP CORRECT 




STA 


AUDC2 


(SOUND CHANNEL. 




DEC 


CHANQEl 


(DEC POINTER. 


TRAN2 










LDX 


CHANaE2 


12nd SOUND ON7 




BPL 


TRAN3 


1 IF >» BRANCH! 




LDA 


CHANBEl 


(SOUND 1 OFF? 




BPL 


TRAN4 


( IF >0 BRANCH! 


7DEACT2 










LDA 


• *00 


(SOUND OFF. 




STA 


AUDC2 


(CHANNEL 2. 




BEQ 


TRAN4 


(BRANCH! 


TRAN3 










LDA 


7CHANaE2.X (BET CORRECT 




STA 


AUDF2 


(FREO & SAVE. 




LDA 


••A4 


(SET UP CORRECT 




STA 


AUDC2 


(SOUND CHANNEL. 




DEC 


CHANBE2 


IDEC POINTER. 


TRAN4 










RTB 




IBAMF! 


7CHANaEl 










.BYTE 240, 1&0. 80.0 




.BYTE 13.93 


,173,433 


7CHANBE2 









7CH0MP0FF 



LDX EATNOISE (SOUND ON? 
BPL 7CH0MP0N (IF >• BRANCH! 
LDA CHANBEl (CHAN8E 1 ON? 
BPL 7CH0MP0FF (IF >• BRANCH! 
LDA CHAN8E2 (CHANBE 2 ON? 
BMI 70EACT2 I IF >0 BRANCH! 



RT8 



(BOBBIE. 



LDA 7CH0MPF,X (BET SOUND 

STA AUDF2 (FREO a< SAVE. 

LDA WVAA (SET CORRECT 

STA AUDC2 (SOUND CHANNEL. 

DEC EATNOISE IDEC POINTER. 

RTS (LATER Y'ALL! 

7CH0MPF 

.BYTE 0.8,16.24,32 

.BYTE 40, *7, 33, 63, 71 
( 

I SPARK FIRIN8 SOUND 
I 
POPBUN 

LDX BULLNOI8E I SOUND ON? 

BPL 7SH00TIT IIP >0 BRANCH! 
7CHILL0UT 

LDA •*00 I CLEAR SOUND 

STA AUDC3 (CHANNEL 3. 

RTS (LATER 



78H0OTIT 



LDA ?SHOOTF,X (BET CORRECT 
STA AUDF3 I FREO li SAVE. 
LDA WtAA (SET UP CORRECT 
STA AUDC3 I SOUND CHANNEL. 
DEC BULLNOISE IDEC POINTER. 



RTS 



I LATER. 



.BYTE 18,37,97,136 
.BYTE 176,213,233 



I DETONATION SOUND 
I 



LDX BODHNDISE (SOUND ON? 
BPL 7B00MIT (IF >0 BRANCH! 
LDA BULLNOISE (BULLET ON? 
BMI 7CHILL0UT (IF <0 BRANCH! 
RTS (LATER... 

LDA ?BOOMF,X (BET CORRECT 
STA AUDF3 I FREO l< SAVE. 
LDA ••8C I BET CORRECT 
STA AUDC3 (SOUND CHANNEL. 
DEC BOOMNOISE I DEC POINTER. 



RTS 



(LATER (MUCH!) 



.BYTE 244,232,220,209 

.BYTE 197,186,174,162 

.BYTE 131,139,128:116 

.BYTE 104'93,dt ,7i,S8 

.BYTE 46,33,23, 12,0 
I 

I BOMB DETONATION 30UND 
I 
BOOHBOX 

LDX EXN0I8E I SOUND ON? 

BPL 7ZAPDN IIP >0 BRANCH! 

LDA 0*30 lADJUST DISPLAY 

JSR 7D8ET ILIST. 

LDA BOOMNOISE (EXPLOSION? 

BPL 7ZAP0FF I IF >0 BRANCH! 

LDA BULLNOISE I BULLET? 

BPL 7ZAP0FF (IF >0 BRANCH! 

JMP 7CHILL0UT (CHILLY BE. 



ICHILL OUT. 

(BET CORRECT 
(FREO l< SAVE. 
(BET CORRECT 
(SOUND CHANNEL. 



7BENBET 



RTB 

LDA EXF,X 

STA AUDF3 

LDA »«BA 

STA AUDC3 

DEC EXNOISE (DEC POINTER. 

LDA RANDOM I RANDOM • 

AND **70 IMASK 4,3,6. 

STA 8AMELIST ISAVE INTO DI3- 
STA BAMELIST*1 I PLAY LIST. 
RTS (CHILLY BE Y'ALL 

.BYTE 0,233,249,243,241,237 
.BYTE 234,230,226,222,218 
.BYTE 214,211,207,203,199 
.BYTE 193,191,188,184,180 
.BYTE 176,172,168,163,161 
.BYTE 137,133,149,143,142 
.BYTE 138,134,130,126,123 
.BYTE 119,113,111,107,103 
.BYTE 100,96,92,88,84,80 
.BYTE 77, 73, 69, is, 41,37,34 
.BYTE 30,46 42,38,34,31,27 
.BYTE 23,19,13,11,8,4 



.BYTE 120,60 
7DI8TIME .BYTE 
7RESEN .BYTE 
7FLIPFL0P .BYTE 
7FL0PFLIP .BYTE 
7SWITCHT1ME .BYTE 

• FIREBUB DISPLAY LISTS 

• BY Kyla Paacock 



SAME BOARD DISPLAY LIST 



.BYTE 210,140,70,0 
.BYTE 43,113,183,233 



OAMELIST 

.BYTE 
.BYTE 
.BYTE 
.WORD 
.BYTE 
.WORD 
.BYTE 
.BYTE 
.BYTE 
.BYTE 
.BYTE 
.BYTE 
.BYTE 

DL18TBTART 

.BYTE 
.BYTE 
.BYTE 



•30,*30,*30 
*30, *30,*30 

• C6 
STATUSLINE 

• 44 

BLANKLINE 
•74,0,0 
•74, 0,0 
•74, 0,0 
•74, 0,0 
•74,0,0 
•74,0,0 
•74,0;0 

•74,0,0 

•74;0:0 

•74,0,0 



.BYTE ^74,0,0 

.BYTE •74,0:0 
DLISTEND 

.BYTE (74,0,0 

.BYTE •74:0:0 
.BYTE *74,0,0 

.BYTE *74,0,t 

.BYTE •74:0:0 

.BYTE •74:0:0 

.BYTE •74,0,0 

.BYTE »34,0,0 

.BYTE »C4 

.WORD BLANKLINE 

.BYTE •00, ^04 

.WORD BULLETLINE 

.BYTE •20,^06,^41 

.WORD BAMELIST 
( 

I TITLE SCREEN DISPLAY LIST 
I 
TITLELIST 

.BYTE •70,*70,^70,070,*70 

.BYTE »47 ' 

.WORD STATUSLINE 

.BYTE »70,^70,»46 

.WORD TITLEl 

.BYTE •70,»47 
SWITCHl 

.WORD TITLE4 

.BYTE *70,^46 

.WORD TITLE3 

.BYTE •70, ^47 
SWITCH2 

.WORD TITLE2 

.BYTE •70, •70, •70,^46 

.WORD TITLES 

.BYTE *7e,»4ti 

.WORD BULLETLINE'^40 

.BYTE ^41 

.WORD TITLELIST 
I 

I BORDER LINE CHARACTERS 
I 
BLANKLINE 

.BYTE 

.BYTE 

.BYTE i; 

.BYTE 

.BYTE 
I 

I SPARK BAR 8RAPH 
I 
BULLETLINE 

.BYTE 0,0,0,0,0,0,0,0,0,0 

.BYTE 0,0,0,0;0,0:0:0:0!0 

.BYTE 0:0,0:0:0:0:0:0:0,0 

.BYTE 0;0;0;0;0;0;0;0;0;0 

I CREDITS l< WHAT-NOT 

I 

SCDLIN 

.8BYTE +•40,- LVL:- 
.SBYTE +•80," BUBS: " 



1,1,1,1,1,1,1,1,1,1 

1 , 1 , 1 , 1 ; 1 1 1 ; 1 1 , 1 1 
1,1,1,1,1,1,1,1,1,1 
1,1,1,1,1:1,1,1,1,1 
1,1,1,1,1,1,1,1 



STATUSLINE 



. SBYTE 
. SBYTE 



. SBYTE 
.SBYTE 



.SBYTE 
.SBYTE 



.SBYTE 
.SBYTE 



bug 



f Ira- 



. SBYTE " »«J# D- 
. SBYTE 'rtcack 
TITLES 

.SBYTE " analog c" 
. SBYTE "oaputlng 
( •••«■•»»»«»»»•»»•«»»••»•»» 
( » DISPLAY LIST MODIFIER • 
( • BY Kyla Paacock • 
( •»»•»•»••<»»•»*>*>*>•>• 
I 



(D-LIST INDEX. 
(• OF LINES TO 
(MODIFY LMSa. 
(BET Y-COORD. 
[MULTIPLY BY 2. 
(USE AS INDEX. 



.LOCAL 



LDY 013 
LDA #19 
STA 7C0UNT 
LDA YPOINT 
ASL A 
TAX 



LDA SCREENBYTES-M.X I END OF 
CMP ••FF (SCREEN RAM? 
BNE 7PASS1 (YES! BRANCH! 
LDX ••OB (CLEAR X-REB. 

LDA SCREENBYTES,X (SET 
CLC (SCREEN RAM l< 

ADC XPOINT (ADD X-COORD. 

STA BAMELIST, Y ( ti SAVE. 

LDA SCREENBYTES-H.X (ALSO 

ADC ••BB (ADD TO HI-BYTE 

STA BAMELIST-H.Y ( l> SAVE. 
INX I INCREMENT POIN- 

INX (TERS FOR NEXT 

TYA ILMS OPERAND 

CLC (TRANSFER. 

ADC #^03 
TAY 

DEC 7C0UNT (ALL LINES DONE? 

BPL ?eET (NO! BRANCH! 
RTS (LATER Y'ALL! ! ! 



.BYTE 



(COUNTER 



» FIREBUO SCREEN MEMORY MAP • 



SCREENBYTES 

.WORD SCREENBASE'M:0*12a] 
.WORD SCREENBASE+t 1*128] 
.WORD SCREENBASE'M2»128] 
.WORD SCREENBASE+t3>12S] 
.WORD SCREENBASE+C4»1283 
.WORD SCREENBASE')'C3»12B] 
.WORD SCREENBASE'M:6«12S] 
.WORD aCREENBASE+C7»128] 
.WORD SCREENBASE+t8*128} 
.WORD SCREENBASE+C9*12B] 
.WORD SCREENBASE'<'[10»12S] 
.WORD 3CREENBA8E+C11#12S] 
.WORD SCREENBASEi-i: 12*128] 
.WORD SCREENBASE+C 13*1283 



PAGE 50 



ANALOG COMPUTING 



ISSUE 23 



.WORD acREENBAaE-l-Cl^vlZBl 
.UQRD 8CREENBAaE'^[lS*1281 
.WORD SCREENBASE-t-ClArlZS} 
.WORD SCREENBASE-t-CiyvlZai 
.MORD BCREENBASE'^tlSolZa] 
.MORD SCREENBASE'^tt<?»128] 
.MORD aCREENBAaE-^CZO'lZa] 
.WORD SCREENBAaE-rtZltlZai 
.WORD 8CREENBAaEt[22*12a] 
.HORD aCREENBA3E+t23»12a] 
.WORD 3CREEN6ASE'<'[24>128] 
.WORD aCREENBAaE'^C23•12e] 
.MORD 3CREENBASE+C26*128] 
.WORD SCREENBAaE'^C27•l^a] 
.WORD aCREENBAaE-MZevlZS] 
.WORD aCREENBABE'l'C29>12a3 
.MORD aCREENBABE-l-CSBvlZa] 
.MORD aCREENBAaE-^CSlflZai 
.WORD aCREENBAaE-rCSZvlZai 
.WORD SCREENBAaE-l-CSSolZa] 
.WORD 8CREENBAaE+C34*12a] 
.WORD SCREENBASE'f[3S*12a] 
.WORD SCREENBABE-MSAvlZa} 
.WORD SCREENBAaE4't37»t2a] 
.MORD SCREENBASE'fC3a»12S] 
.MORD aCREENBA3E'^C39»l^a] 
.MORD aCREENBAaE'^C40•128] 
.WORD SCREENBAaEi-C41>128] 
.WORD 8CREENBA8E't'[42»12S] 
.WORD SCREENBA8E'>'[43*12a] 
.MORD 8CREENBASE4'[44»12a] 
.WORD aCREENBAaE+C43*12a] 
.MORD SCREENBAaE'r[4&*12a] 
.WORD aCREENBAaEl'C47»12a] 
.WORD 3CREENBAaE'>'C4B»12a] 
.WORD SCREENBAaE'^C49#12B] 
.WORD SCREENBABEi-CSe'lZa] 
.WORD 8CREENBASE'>'[Sl*12a} 
.WORD 8CREENBAaE'l'CS2»128} 
.WORD SCREENBASEi'i:S3»12a] 
.MORD 8CREENBAaE'rCS4>128} 
.WORD aCREENBAaE'^t^^*12Sl 
.WORD 8CREENBAaE'^CS6»128] 
.WORD aCREENBAaEt'C37»t28] 
.WORD aCREENBAaE'hC3a»128:i 
.WORD SCREENBA3E'rC37»t2ai 
.WORD aCREENBAaE4'[&0»12a] 
.WORD aCREENBA3Ef 161*1281 
.WORD aCREENBAaE'M62>12ai 
.WORD 8CREENBA8Et[63»128] 
.MORD »FFFF 



FIREBU8 INITIALIZATION 
Ton Hudson V Kyi* Pascock 



UiU 



* ONE 3H0T INITIALIZER » 



8ET UP CHARACTERS 

LDA •«B4 

8TA HL0<-1 
LDX »1Z 
8TX XTEMP 



ICHSET 8TART 
(PUT IN POINTER 

I 14 CHARa 

I TO LOAD 

LDX XTENP I BET CHAR t 

LDA CaTRT,X ) AND 8TART ADDR 

8TA HLO I PUT IN POINTER 

TXA INOM 

A8L A IHULT 

AaL A I POINTER. .. 

AaL A I BY 8, 

TAX I USE As INDEX 

LDY •> IBTART CHAR COPY 

LDA CDATA.X J BET CHAR DATA 

3TA (HLO),Y IMOVE TO CH8ET 

INX I NEXT CHAR BYTE 

INY INEXT 8ET BYTE 

CPY »8 I DONE 8? 

BNE CHL2 I NO, LOOP BACK 

DEC XTEHP INEXT CHAR 

BPL CHLOOP I LOOP IF MORE 



I 

I SENERAL VARIABLE BETTINS 
I 

LDA ••0S 

8TA PLAYNO 

3TA VBIT 

8TA HBIT 

STA MINX 

LDX »2 

3Tn aCORE.X 



I CLEAR 
I PLAYER ». 
IRAN VaCROL 
IRAN HBCROL 
iniN. X-COORD. 



CaCLP 



-.„ w v... laCOREB 

8TA aCOADfi.X lie STUFF. 

DEX 

BPL CaCLP 

LDA »*gl I3ET «/ 1. 

BTA MINY IHIN Y-COORD. 

STA FIRETIME IFIRINS. 

LDA •64 

3TA MAXX IHAX X-COORD. 

LDA »43 

STA MAXY INAX Y-CDORD. 

LDA »»B3 I CHARACTER UP- 

STA nOVETINE IDATA TIHER. 

STA PHASETIME 

LDX ••04 (SET UP. 

STX LIVES !• OF LIVES 

LDA 8TARTLEVEL 

STA LEVEL I START INS LEVEL 

STA BCDLVL ISTARTINS LEVEL 

LDA 7TYPEBAaE.X I CHARACTER 

3TA TYPE.X itYPE SETTINS. 

DEX ISET THEM ALL. 

BPL VTYPESET 
I 
I PLAYER/MI38ILE INITIALIZATION 

LDA fSE 

3TA SDMCTL I DMA. 

LDA VPLAYBS/ZSA 

STA pnBASE I ADDRESS. 

LDA ••03 

BTA BRACTL 

LDA ••Zl 

STA SPRIOR 

LDA ••F0 

STA aiZEM 

LDA ••ZS 

STA HPOSM0f2 

LDA ••CC I MISSILE 3 X 

STA HPOaMa-rS 



ISRAPHIC8 

■CONTROL. 

IPRIORITY 

IRES. 

IMI38ILE8 2 l< 3 

lARE 4X SIZE. 

IMISSILE 2 X. 



LDA •»0» 

TAX 

STA Misa.x 
CPX •»C9 
BC8 7PM3ET2 
CPX ••30 
BCC 7PM8ET2 
LDA ••F0 
STA Mias.x 
LDA •••0 

DEX 

BNE 7PMaCT 



I CLEAR OUT 



IMI8SILE8. 

I INSTALL 

IPLAYFIELD 

■BORDER 

■ INTO MISSILES 

■2 AND 3. 



■ALL DONE? 
■NO! CONT. 



» MULTIPLE INITIALIZER » 



JSR BQUNDOFF 

LDX ••Bl 

STX VSTOP ■HALT VBLANK. 

STX CH I STUFF CHAR. 
> 

■ SENERAL VARIABLE SETTINB 
I 

DEX 

DEX 

STX CHANBEl ■TURN OFF 

BTX CHANeE2 ■ALL BOUND 

STX BULLN0I8E ■RAM VARIA- 

BTX BOOMNOIBE IBLES. 

STX EXNOISE 

STX EATNOISE 



7SETBULL 



LDA MINX 
STA XPOINT 
LDA MINY 
STA YPOINT 
LDA ••00 
STA NOBULL 
LDX ••03 



■BET LM3 OPER- 
lANDS TO UPPER 
I LEFT OF BOARD. 

I NO SPARKS ARE 
■ACTIVE. 



■CLEAR SPARK 
, X IHORK AREA. 



LDA ••FF 

aTA BULLDIR, 

DEX 

BPL 7SETBULL 

LDX •19 (SET aPARK LINE 

LDA ^20 (TO FULL 
7SETBULL2 I CAPACITY. 

BTA BULLETL1NE+10,X 

DEX 

BPL 7SETBULL2 

LDA •29 ISET BULLET 

STA BULLPNT I POINTER. 
I 

I FILL PLAY AREA WITH DIRT 
I 

LDX ••00 ■ CLEAR X-RE8. 



7FILL1 



7FILL2 



TXA ■MOVE X TO A. 

A3L A I MULTIPLY BY 2. 
TAY I MOVE A TO Y. 

LDA SCREENBYTES.Y 
BTA LO (SET SCREEN 
LDA aCREENBYTES+l.Y 
STA LO^l I ADDRESS. 
CMP ••FF I AT RAM END? 

I YES! BRANCH! 

ISET FOR FILL. 



BED 7FILL3 
LDY •I 27 



LDA •«04 
JSR RANDO 

ADC »«02 

STA <LO),Y 

DEY 

BPL 7FILL2 

INX 

JMP 7FILLI 
7FILL3 
I 

I PLACE PRE-PR08RAMMED TUNNELS 
I 

LDX ••00 (CLEAR X-RE8 



■SET RANDOM • 
I (0 UP TO ACC-1> 
■ADD TMO TO 
I VALUE IN ACC. 
I STORE IT. 
■HANDLE NEXT. 
■BRANCH! 
INEXT RAM AREA. 
■JUMP ON IT! 



7VECBET 
7VECSET2 



LDY •*»» 



■CLEAR Y-RES. 



7VECPL0T 



LDA 7VECT0Ra,X I SET VECTOR 
STA 71NITX,Y (INITIAL X. 
INX (SET ADDITIONAL 

INY ■VECTOR INFO. 

CPY ••0& (LAST DATA BYTE7 
BNE 7VECSETZ (NO! BRANCH! 



TVECREBET 



LDA 7INITX (BET INITIAL X. 

STA XCOORD (SAVE IT. 

LDA 7INITY (BET INITAIL Y. 

STA YCOORD (SAVE IT. 

JSR XYFIND IFIND RAH LOG. 

LDY ••00 (CLEAR V-REB. 
TYA (MOVE Y TO A. 

STA (LO>.Y I STORE IN HEM. 

LDA 7IN1TX (IB X VECTOR AT 

CNP 7FINALX (DESTINATION? 

BNE 7VECRE8ET (NO! BRANCH! 

LDY 7INITY (IB Y VECTOR AT 

CPY 7FINALY (DESTINATION? 

BEQ 7NEXTVEC (YES! BRANCH! 

r 

CLC (ADD X-DELTA 

ADC 70ELTAX (TO X VECTOR. 

STA 7INITX (SAVE IT. 

(ADD Y-DELTA 
(TO Y VECTOR. 



LDA 7INITY 

ADC 7DELTAY 
STA 7INITY 



(SAVE IT. 



7NEXTVEC 



JMP 7VECPL0T (PLOT NEXT. 



CPX •t4»6] 16 VECTORS 
BCC 7VECaET INEXT VECTOR. 

PLACE PROXIMITY BOMBS 

LDX LEVEL I OET LEVEL •. 

CPX »11 (IS IT >10 7 

BCC 7NUMBMB (NO! BRANCH! 

LDX •10 (SET 10 AS MAX. 
lUMBMB 

LDA 7NUMPR0X-1.X (SET • OF 

STA BOMBCT (BOMBS FOR LEVEL 
(>< SAVE IN X. 



TAX 
7PLACEB0MBS 

LDA •SS 

jaR RANDO 

CLC 

ADC ••03 

ASL A 

TAY 



■GET RANDOM • 

■ (0 UP TO ACC-1) 

■THEN ADD THREE. 

■MULTIPLY BY Z. 
IMOVE A TO Y. 



LDA SCREENBYTES.Y 

BTA LO (SET SCREEN RAM 

STA BOMBL, X 

LDA 3CREENBYTE8+1.Y 

STA LO-M (Y-COORDINATE. 

STA BOMBH.X 
LDA VllS I BET RANDOM •. 
JSR RANDO ■ (0 TO ACC-U 
■NOH ADD SIX. 



CLC 

ADC ••0A 

ORA ••01 

TAY 

LDA (LO) 



(BIT ON. 
(MOVE TO Y. 
(SET LOCATION 



BEQ 7PLAd:EB0MBS (TUNNEL! 
CMP •BOMB 
BEQ 7PLACEB0MB3 (IT'S A BOMB! 
LDA •BOMB (BOMB CHARACTER. 
aTA (LO),Y (BTORE IN RAM. 
CLC (BTORE NEIBH- 

ADC •I (BORINS CHARA- 
INY ICTER IN ADJA- 

STA (LO),Y ICENT LOCATION. 
DEY I ADD CORRECT 

TYA I VALUE INTO 

CLC I BOMB DATABASE 

ADC BOMBL, X ■ Ic SAVE BOMB'S 
STA BOMBL, X I X li Y COORDS. 
LDA CtPF I RESET BOMB 
STA ARMED, X ■MITH Z33. 
DEX (HANDLE NEXT. 

BPL 7PLACEB0MB8 



PLACE BORDERS 

LDX ••00 



■CLEAR X. 



LDA SCREENBYTESfl, X ■AT END 
CMP •»FF ■OF SCR BYTES? 
BEQ 7B0ARDZ ■YES! BRANCH! 
STA LO-M I SAVE RAM LQC. 
LDA 3CREENBYTE8.X 
STA LO IBOTH LO & HI. 
LDY ••01 (BORDER CHAR. 

(MOVE Y TO A. 

I STORE IT. 



TYA 

STA (LO),Y 

LDY »127 

STA <LO),Y 

INX 

INX 

JMP 7BOARD1 



(STORE IT. 
(MOVE TO NEXT 
(SCREEN RAM. 
■JUMP ON IT. 



DEX I SCREEN RAM 

DEX ■END. 

LDA SCREENBYTES, X 

STA LO ISET LAST 1/2 

LDA SCREENBYTES^-l, X 

STA LO + l ■>< FIRST 1/Z 

LDA SCREENBYTES 

STA LOW IPA8E «< SAVE 

LDA SCREENBYTES* 1 

STA L0H4-1 ITHEIR LOCS. 

■LOAD POINTER. 

■BORDER CHAR. 



LDY •IZ? 
LDA •*01 

STA ILO>,Y 
STA (LOmI.Y 



■SAVE INTO RAM 
I AT TOP t< BOTTOM 
■OF BOARD. 



BPL 7SDARD3 I HANDLE ALL.. 
JSR SHOSCO ISHOH SCORE 



JSR SHOLVL 

JSR SHOLIV 

I 

■RESET ALL ENEMIES 

LDX #29 

LDA •» 

CLEN STA EACT.X 
DEX 

BPL CLEN 



JSHOM LEVEL 
ISHOM LIVES 



■CLEAR ALL 30 
■ZERO OUT. . . 
■ACTIVE FLAa 
INEXT ENEMY 
(LOOP UNTIL DONE 



INOM INITIALI 

I 

LDX 

lELP LDA 
STA 
LDA 
STA 
LDA 
STA 
STA 
LDA 
STA 
STA 
LDA 
STA 
LDY 
STA 
INY 
CLC 
ADC 
STA 
DEX 
BPL 
LDA 
BTA 

I 

I INIT EB88 

I 

LDA 
SEC 
SBC 
LSR 
L3R 
LSR 
STA 
LDA 
SEC 
BBC 
STA 
TAX 
LDA 
STA 
STA 

lEQBLl LDX 
LDA 
STA 
LDA 
STA 
LDX 

IE8BLZ LDA 
CLC 
ADC 
3TA 
LDY 
BTA 
LDA 
ADC 
STA 



ZE 4 ENEMIES 



•3 

• 1 
EACT.X 

• »FF 
EDIR, X 
ENSTH,X 
EADH, X 
ADL'»i 
ENSTL.X 
EADL.X 
ADL 

•8 

ETYP.X 
•0 
(ADD.Y 



•EM 



■ 4 OF 

■ SET 

■ACTIVE FLAS 
■BIVE IT. . . 
■RANDOM DIRECTION 
ISET ADDRESS... 
■OF EACH. . . 
■ENEMY. . . 
■AND SAVE! 



■SET UP Aa. .. 
■TYPE S 
■AND DRAW... 
■ON DISPLAY 



• 1 
(LO) ,Y 

■NEXT ENEMY 
lELP (LOOP IF MORE 

•0 (START UP IN 

aENFLS (MATINS SEASON! 



LEVEL 

• 1 
A 
A 
A 

E8BTOT 
•3 

ESBTOT 
ESROUP 

lESeCT 

EBOTOT 

EBBS 

E8BIX 

ESROUP 

EOaSTL 

HLO 

E8BSTH, 

HL0»1 

• 12 
HLO 

EADDL.) 

ADL 

ESBIX 

EQBL.Y 

HLO+l 

EADDH,) 

ADL+l 



■SET LEVEL 
■AND DECREMENT 
■ BY 1. 
■DIVIDE BY 8, 



■SAVE A MINUTE, 
(BET 3, 

(BubtrAct temp 

■FROM IT, 

■SAVE • OF NESTS 

■ USE AS INDEX 

, X ■BET baby count 

■AND SAVE. . . 

I IN MORK. . . 

I AREAS 

I BET NEXT COUNT 
, X I BET ADDRESS 

■OF NEST CENTER 



113 BABIES 
■SET NEST ADDR. 

■AND ADD 

■DIRECTION 

■OFFSET 



ISSUE 23 



ANALOG COMPUTING 



PAGE 51 



STft EBBH.Y 

LDfl •! IflCTlVftTE. . 

STft EBBftCT.Y I BABY 

LDY »e 

LDA •12 lAND DRAW. . 

STA (ADL),Y IBABY. 



INY 

CLC 

ADC •! 

8TA (ADD.Y 

DEC EBB IX 

DEX 

BPL IEQaL2 



■ ON SCREEN I 



INEXT INDEX 

(NEXT BABY 

I LOOP IF nORE 



.BYTE 
.BYTE 
.BYTE 
.BYTE 
.BYTE 
.BYTE 
.BYTE 
.BYTE 
.BYTE 
.BYTE 
.BYTE 
.BYTE 



64, 16,3, 12S 
224,24S,24B, 160 
233, 102, 102, 102 
102, 102, 102,233 
233, 100, 100, 100 
100, 100, 100,233 
233,?6,*6,>»i 
96.96,96,233 
233,44,64,64 
64. 64, &4, 233 
233,0, 0,0 
0,0,0,233 



LDA 7HC0UNT ( HORT BCR0LU7 

BEQ 7H3T0RE I NO! BRANCH! 

LDA 7HDIR I YES ! BET SCROLL 

BEO 7RIBHT I DIRECTION. 



INC HBIT 

LDA HBIT 

Cnp •»04 

BCC 7HBTDRE I NO ! BRANCH 



I INC RAM HBCROL. 
lis IT > 37 



BPL 
1 


lEBSLt ILOOP IF MORE 
JS 




1 >«*>***i>*»*»*»»>*t»»*i>»*» 

1 * RANDOM NUMBER BENERATOR » 


1 PLACE FIREBt 


1 










LDA 


• >SCREENBAaEi'131 




RANDO 




BEO 


7RET 


IIP - BRANCH. 












STA 


7H0LD 


?SAVE ACC. 


LDA 


• <8CREENBASE'»131 








LDA 


RANDOM 


IBET RANDOM ». 


BTA 


BU8L ISAVE FIREBUa* 


S 






CMP 


7H0LD 


lis IT < ACC7 


LDA 


ADL 1 INITIAL ADDRESS 
#6 I BET BUB CHAR. 






BCC 
LSR 


7RET 
A 


lYES! BRANCH! 
INO. DIVIDE BY 












LSR 


A 


ITWO. TRY ABAIN 




(ADL) ,Y ION SCREEN 








JMP 


7RAN1 


IJUMP ON IT! 








7RET 










ADC 


• 1 




7H0LD 




RTS 




IB08BIE. . . 


JSR 


SETCOdoRS 








.BYTE 


I TEMP STQRA8E. 




• »00 1 START... 
VSTOP IVBLANK ABAIN! 
UNIT DONE! 














BTA 
RTS 


1 • X 

1 »»•« 


li 
»i 


Y COORDINATE 


TRACER » 



LDA XPOINT 
CMP MINX 
BNE 7LEFT2 
DEC HBIT 
JMP 7HHALT 

LDA »t0e 
STA HBIT 
DEC XPOINT 
JMP 7HpEC 

DEC HBIT 



I AT LEFT ED8E7 

INO! BRANCH! 
■RESET HBCROL 
I* HALT SCROLL. 

■RESET HBCROL 
■RAM COPY. 
■DEC X-COORD. 
IJUMP ON IT! 



■DEC RAM HSCROL 
BPL 7HBT0RE 1 IF >0 BRANCH! 
LDA XPOINT IBET X-COORD. 

I AT RI8HT ED8E7 
INO! BRANCH! 
■RESET HSCROL 
III HALT SCROLL. 



CMP MAXX 
BNE 7RI8HT2 
INC HBIT 
JMP 7HHALT 



LDA ••03 
STA HBIT 
INC XPOINT 



■RESET RAM 

■ HSCROL l( 

I INC X-COORD. 



COLOR SELECTION 



DEC 7HC0UNT 1 DEC HORT SCROLL 
JMP 7H3T0RE I COUNT . 



LDA ••00 



I HALT HORT 



SETCOLORS 



LDA RANDOM 
AND lt*FII 
ORA ••02 



■RANDOM •. 
■CLEAR LO-NIBBLE 
1BIT 1 ON. 



STA NEHBACK ■SAVE IT. 



LDX ••04 
7SETC0L0Ra 

LDA RANDOM 
AND »*F0 
ORA 70RBASE 



■HANDLE 4 REBs. 



■RANDOM tt. 

ICLEAR LO-NIB. 

.-.,„„-^,X ITURN ON BITS. 

STA COLOR0,X ■SAVE IT. 

DEX ■HANDLE ALI 

BPL 7SETC0L0R8 

LDA COLOR0'l'l ■BET COLOR FOR 

STA PCOLR0+2 (BORDER MIB8- 

STA PCOLRB-cS IILES. 

RTS 



MOMENTARY PAUSE 



LDA RTCLOK+2 ■SYSTEM CLOCK. 
CLC ■ONE SECOND 

ADC 070 ■PAUSE. . . 
NITS 

CMP RTCL0K*2 ■ 1 BEC UP7 
BNE 7INIT3 ■NO! BRANCH! 
JMP IN1T2 ■YES! WHOOSH!!! 

SOUND RE8ISTER INITIALIZATION 



7S0UND0FF 



J8R SIOINV 
LDX 0^07 
LDA ^^00 



■INIT BOUNDS. 
■HANDLE ALL. 
■STUFF ZERO. 



BTA AUDFl.X I INTO REQISTER. 
DEX ■ALL D0NE7 

BPL 7S0UND0FF INO! BRANCH! 
STA AUDCTL I STUFF CONTROL. 
RTS I BEAM ME UP.. . 



7TYPEBASE 



7VECT0Ra 



DIRADL 
DIRADH 
OK 



IE8BLT 
CSTRT 



.BYTE •0B,*0A,*0B, •04,^00 

.BYTE 0,4,3,6,7 

.BYTE 9,19,29,39,47 
.BYTE 39,69,79,89,99 

.BYTE 63,12,63,31,0,1 

.BYTE 64,12,64,31,0,1 

.BYTE 63,33,63,32,0,1 

.BYTE 64,33,64,32,0,1 

.BYTE 41,32,62,32,1,0 

.BYTE 63,32,86,32,1,0 

.BYTE 126,2,128,234 

.BYTE •FF,B,0,^FF 

.BYTE 1,0,1,1,1,1,1,0 

.BYTE 0;e,B;0; i;0,i,0 

.BYTE 0,0,0 

.BYTE 224'0.64,64.64 

.BYTE 64,239.0,233,0 

.BYTE 233,0,233,0,233,0 

.BYTE 0,0,0 

.BYTE •FF,^FF,»FF,»FF 

.BYTE «FF,»FF,»FF, 1 

.BYTE »FF,^FF,^FF,3 

.BYTE »FF,2,B,^FF 

>3CREENBABE->3773 
>8CREENBASE'»4133 
>SCREENBASE+4163 
>8CREENBASE+4343 
<SCREENBA8E+377S 
<aCREENBASE'^4133 
<3CREENBA8E'F416S 
< SCREENBABE''4343 
._,,- 0.128.128.234,2.130 
.BYTE 126,126,130,4:232,0,0 
.BYTE 0,0.233,233,0,233 
.BYTE 0,233,0,0,233,235,1 
<SCREENbA8E-i-2079 
<SCREENBA8E1'6239 
<SCREENBASE+6173 
<SCREENBASE'^2143 
>8CREENBA8E-l-2079 
>3CREENBASE+6239 
>BCRECNBftSE+6173 
>3nREENBA3E'F2143 
.BYTE 12,23,38,31 
.BYTE 0,6,16.24,32,40,112 
.BYTE 120,126,160,168,176 
.BYTE 184,192 
.BYTE 0.0,0.0,0.0,0,0 
.BYTE 170,170,233,233 
.BYTE 233,235:170,170 
.BYTE 16,1,0,4,64,0,1.64 
.BYTE 0.16,1,64,4,0,17,0 
.BYTE 64, 1,0,4,64; 1:0, 16 
.BYTE 16, 1,0*64,1, 16.0,4 
.BYTE 0,0,0,0,0,0,0,0 
.BYTE 1,4,1,2,11,47,47,10 



.BYTE 
.BYTE 
• BYTE 
.BYTE 
.BYTE 
.BYTE 
.BYTE 
.BYTE 
.BYTE 



.BYTE 
.BYTE 
.BYTE 
.BYTE 
.BYTE 
.BYTE 
.BYTE 
.BYTE 



8TX 7H0LD ■SAVE X-REO. 
LDA YCOORD ■BET Y-COORD. 
A3L A ■MULTIPLY BY 2. 
TAX ■MOVE A TO X. 

LDA 8CREENBYTES.X ■BET RAM 
CLC ■BYTE li ADD 

ADC XCOORD ■X-COORD. 
STA LO ■SAVE IT. 
LDA SCREEN8YTEB<-1,X 

■BET HI BYTE. 

■RESTORE X-REB. 

I BAMF ! ! • 



7H3TORE 



STA 7HC0UNT I SCROLL COUNT. 





BTA LOi-1 




LDX 7H0LD 




RTS 


7INITX 


.BYTE 


7INITY 


.BYTE 


7FINALX 


.BYTE 


7FINALY 


.BYTE 


7DELTAX 


.BYTE 


7DELTAY 


.BYTE 



LDA HBIT ISAVE RAM HSCROL 

STA HSCROL ■INTO 08. 

LDX PLAYNO (BET JOYSTICK 

LDY 8T1CK0,X ■POSITION. 

CPY WIS ■CENTERED? 

BEQ 78CR0LLD0NE I YES-BRANCH. 

CPY 7PREVI0U8 IUNT0UCHED7 

BEQ 7SCR0LLD0NE ■YES-BRANCH. 

LDA 7TYPEaET-3.Y | UPDATE 

STA TYPE I BUS FACINB. 
78CR0LLD0NE 

STY 7PREVI0UB ■SAVE STICK. 

RTS ■CHOW BABY. . . 

7PREV10Ua 

.BYTE ■PREVIOUS STICK 
7TYPESET I BUS HEADINBS 

.BYTE 3,1,1,0,2,0,2,0,3,0 



FINE SCROLL CONTROL 
9Y Ky 
[WHO 



7H0LD 



BY Kyla Paacack 
HO ELaE7!7J 



7VSCR0LL 



7UP 
7UP1 



7D0UN2 

7VDEC 

7VHALT 

7V3T0RE 



7HSCRaLL 



LDA 
CMP 
BCS 
LDA 
BEQ 

CMP 
BCC 
LDA 

STA 
LDX 
STX 

LDA 
BEO 
LDA 
BNE 

DEC 
BPL 

LDA 
CMP 
BNE 
INC 
JMP 

LDA 
BTA 
DEC 
JMP 

INC 
LDA 
CMP 
BCC 
LDA 
CMP 
BNE 
DEC 
JMP 

LDA 
STA 
INC 

DEC 

JMP 

LDA 
STA 

LDA 
STA 
LDA 
AND 
BTA 
LDA 
AND 
SEC 
BBC 
CMP 
BCC 
LDA 
BEQ 

CMP 
BCS 
LDA 

BTA 
LDA 
STA 



BUBLI-l ■BUB AT SCREEN 
DLiaTaTART<-2 ■TOP? 
7VTEST1 INO! BRANCH! 
• •00 I YES! CLEAR Ic 
7VaET I BRANCH! 

DLISTENDl'2 ■BUB AT BOTTOM? 
7VaCR0LL ■NO! BRANCH! 
••01 lYES! BET. 

7VDIR I SAVE VERT. FLAB 
•4 ■SET VERT SCROLL 
7VC0UNT ■DISTANCE. 

7VC0UNT ■SCROLL NOW? 

7VST0RE ■IF NOT, BRANCH. 

7VDIR ■BET DIRECTION 

7D0WN ■TO SCROLL IN. 



.BYTE I TEMP STORABE 
.BYTE I VERT DIRECTION 



■HORT DIRECTION 
■VERTICAL COUNT 



■HORIZONTAL COUNT 



FIREBUe DRAM ROUTINE 
BY Kyis Paacock 



I 

DRAW 



VBIT 



■DEC RAM VaCROL. 



7VST0RE ■IF >0 BRANCH. 



YPOINT 

MINY 

7UP2 

VBIT 

7VHALT 



IBET Y-CDORD. 
■AT BOARD TOP? 
■NO! BRANCH! 
■YES! HALT 
■SCROLL. BRANCH. 



••07 ■RESET RAM COPY 

VBIT ■OF VBCROL. 

YPOINT ■DEC Y-COORD. 

7VDEC ■JUMP ON IT! 



VBIT 
VBIT 

• •08 
7V3T0RE 
YPOINT 
MAXY 
7D0MN2 
VBIT 
7VHALT 

• •00 
VBIT 
YPOINT 



■ INC RAM VSCROL 

■ IF <a BRANCH. 



IBET Y-CDORD. 
I AT BOARD BOTTOM? 
■NO! BRANCH! 
■YES! HALT 
■SCROLL. BRANCH. 

■RESET RAM COPY 
■OF VSCROL. 
■ INC Y-COORD. 



LDA MAXBUaS ■• OF CHARS TO 
STA 7C0UNT ■MODIFY. 

LDX 7CDUNT ■SET COUNTER. 

LDY TYPE.X ICHARACTER TYPE. 

LDA PHASE, X I TYPE PHASE. 

CMP ?INDEX-H,Y I PHASE EXCEEDED? 

BCC 7DRAW3 INO! BRANCH! 

LDA 7IHDEX,Y IRESET WITH 
STA PHASE, X ■PROPER PHASE. 

CMP ?INDEX,Y (CORRECT PHASE? 
BCC 7DRAW2 INO! BRANCH! 
A3L A I PHASE TIMES 2. 
TAY I MOVE A TO Y. 

LDA 70FF8ET,Y I ADDR OF CHAR 
STA DRMLO ■DATA (LO BYTE) 
LDA ?0FFSET<-1,Y ■HI BYTE OF 
BTA DRWLO + 1 I CHAR DATA. 
LDA 7C0UNT ■SET COUNTER. 
ASL A I MULTIPLY BY 2. 
TAY I MOVE A TO Y. 

LDA 7PLAYBA8E, Y ■DESTINATION 
STA PLLO ILO BYTE 
LDA ?PLAYBASE+1,Y Id 
BTA PLLO+t I HI BYTE. 
LDY •IS IMOVE 16 BYTES. 

LDA (DRWLO>,Y IBET DATA. 
STA (PLLO),Y ISAVE DATA. 



DEY 
BPL 7DRAW4 
DEC 7C0UNT 
BPL 7DRAW1 



7VC0UNT I DEC VERT 
7VaT0RE (SCROLL COUNT. 

• •00 I HALT VERT 
7VC0UNT ■SCROLL COUNT. 

VBIT ■BET RAM COPY 

VSCROL (SAVE IN OS. 

DLISTSTART-H (TEBT TO 



• •7F 
7H0LD 
BUBL 

• »7F 

7HDLD 

• 30 



(BEE IF BUB IS 
(TOO FAR LEFT 
(OR TOO FAR 
(RIBHT OF SCREEN 
(CENTER. 



(NEXT BYTE. 

(ALL DONE? 

INEXT CHARACTER. 

(ALL DONE? 
DEC 7PHTIME I DEC TIMER. 
BPL 7DRAW7 I IF >0 BRANCH! 
LDA MOVETIME ■RESET PHASE 
STA 7PHTIME ■TIMER. 
LDX PLAYNO ■PLAYER NUMBER. 
LDA 3TICK0,X IBET JOYSTICK. 
CMP •IS I CENTERED? 
BEQ 7DRAW7 lYES! BRANCH! 
INC PHASE I INC FIREBUa PHASE. 

DEC ?PHTIME'H I DEC TIMER. 

BPL 7DRAW9 I IF >0 BRANCH. 

LDA PHASETIME ■RESET TIMER. 

STA 7PHTIME-H ■SAVE IT. 

LDX MAXBUSS ■• OF CHARl 



■VALUE < 30? 
7HTE8T2 ■YES! BRANCH! 
••00 (TOO FAR RIBHT. 
7HSET (BRANCH! 

•13 (VALUE > 14? 
7H3CRaLL (YES! BRANCH! 
••01 (TOO FAR LEFT. 

7HDIR (SAVE DIRECTION. 
•12 (BET HORT SCROLL 
7HC0UNT (DISTANCE. 



INC PHASE, X 

DEX 

BNE 7DRAW8 



(UPDATE PHASES. 
(HANDLE NEXT. 
■ALL DONE? 

■ZOOOOOOMl ! ! 



.BYTE ■COUNTER 

.BYTE 3,3 ■TIMERS 

■ CHARACTER INDEX 

.BYTE 0,4.8, 12, 16 
.BYTE 21,31,37,40 



7PLAYBA8E 



lt»* 








TOP-DOS 

POWER YOU COMMAND. 



FRIENDLY POWER 

TOP-DOS unleashes the latent power of your 
ATARI computer-an amazing machine. TOP- 
DOS puts this power under your control. Here 
are just a few of its friendly features: 

COMMAND MENU & HELP FILES speed your 

mastery of the system. 

SUPERIOR STATUS DISPLAY keeps you 

informed. Shows free memory, disk-drive 

configuration, and state ofTOPS-DOS options. 

ERROR-CODE TRANSLATOR deciphers 

numeric codes into English. 

BREAK-KEYABORT lets you change your mind 

in mid-command. 

FULL SCREEN USE shows you what you've 

done. Keeps 23 ines of past operations on 

display. 

UNDELETE COMMAND rescues an 

accidentally-deleted file. 



POWER TO PLEASE 

Upgrade to TOP-DOS. Owners are delighted. 
You will be too. Only $49.95. No risk, 30-day 
MONEYBACK GUARANTEE. 




SPECIFICATIONS 

Memory required: 32K 
Computers: ALL ATARI 
Disk drives: 1 to 8 

SKi": Single-density, Double-density, Double- 
sided Double-density 
8": Double-density. 
Ramdisk: AXLON or MOSAIC. 
I'lles: Single density: 64* 
Double density: 128* 
Sectors: Single density: Up to 944 

Double density: Up to 1968 
Memory-residency: 0700-1A80 (hex) 

(Same as ATARI DOS-2) 
Commands: 55 

(All ATARI DOS-2 -K 40 more) 
Command options: 35 



SOPHISTICATED POWER 

TOP-DOS offers professional features found only in 
systems on much larger machines. Whatever your 
experience level, you will appreciate the flexibility and 
power of this advanced system. Here are some 
examples of TOP-DOS's powerful features: 

MACHINE LANGUAGE MONITORS EDlTORallows you 
to access and change bytes in memory, 
COMMAND FILE CAPABILITY permits you to simply 
and rapidly execute a complex sequence of commands. 
"HELLO" FILE executes automatically on boot-up. 
SET COMMAND enables you to customize your system: 
Configure disk drives and select TOP-DOS options. 
FILE DIRECTORY COMMAND lets you choose: 
Alphabetization, the number of columns in the listing, 
and the inclusion of deleted & open files. 
MEMORY MAP shows you the memory areas used by 
the Binary Load command. 
ONE-LINE COMMANDS saves you time and conserves 
screen space, once you are familiar with the command 
syntax, 

DOS-RESIDENT OPTION speeds your transfer 
between TOP-DOS & BASIC, or other programs. 



iCLIPM 



See TOP-DOS at your dealer If not available, you may 
order direct from ECLIPSE SOFTWARE, 1058-G 
Marigold Court, Sunnyvale, CA 94086,(408) 246- 
8325. 

DEALER INQUIRIES WELCOME 



TOP-DOS includes all the leatures of its predecessor, DOS-MOD. TOP-DOS and DOS-MOD are Irademarks of ECLIPSE. ATARI is a registered trademark of Atari, Inc. Prices are subject to ctiange without notice. Shipping charges are prei 
California residents add 6.5% sales tax ($49.95 + 3.25 = $53.20). 

"An advanced version is available to TOP-DOS owners {at additional cost), which doubles the number of files, as well as adding a number ol other features. 

CIRCLE #121 ON READER SERVICE CARD 



■WORD C8ANESET+48} 

.WORD CaAnESETi'64} 

.MORD cannESETi'se] 

.MORD CaAnE8ET+96: 

.MORD CaAHEaET'M44} 



70FF3ET 



.MORD FIREBUBUPl 

.MORD riREBUSUP2 

.MORD FIREBUSUP3 

.WORD FIREBUauP2 

.MORD FtREBUBRIBHTl 

.MORD FIREBUBRIBHTZ 

.MORD FIREBUaRI8HT3 

.WORD FIREBUBRlaHT2 

.MORD FIRCBUBLEFTl 

.MORD FlREBUaLEFT2 

.MORD FIREBUBLEFTS 

.MORD FIREBUSLEFT2 

.MORD FIREBUBDDMNl 

.MORD F1REBU8D0MN2 

.MORD FIREBUaD0HN3 

.MORD FIREBUeD0MN2 

.MORD 7BUB11 

.MORD 7BUei2 

■MORD 7BUai3 

.MORD 7BUai4 

.MORD 7BU81S 

.MORD 7BU821 

.MORD 7BUa22 

.MORD 7BU823 

.MORD 7BUa24 

.MORD 7BUB2S 

.MORD 7BU8Z& 

.MORD 7BUe23 

.MORD 7BUB24 

.MORD 7BUB23 

.MORD 7BUa22 

.MORD 7E881 

.MORD 7EaB2 

.MORD 7EBa3 

.MORD 7eaB4 

.MORD 7E883 

.MORD 7EBa2 

.MORD BULLETl 

.MORD BULLET2 

.MORD BULLET3 
FIREBUBUPt 

-BYTE 12, 2, 9, 194, 33, 2»2, 33, 2 

.BYTE 48, 128.96, 131192, l63;92, 128 
FIREBUaUP2 ' ' ' 

.BYTE 3, 2, 9,2, 243, IB, 243, 2 
BYTE 1*2;i4b;96,128;9S,16»,93,128 

.BYTE 12, 2. 9, 2, 33, 2*2, 33, 194 
.BYTE 48; t2a:9li, 148,94, li3,92, 131 

FIREBUBRIBHTl ' ' ' > • •-' 

.BYTE 12,31,23,133,133,23,31,12 
.BYTE 192,e;33; 132, 132;33 »,l92 

FIREBUBRiaHT2 ' • < ' 

.BYTE 31,31,23,133,133,23,31,31 
•BYTE B,»,3i,lS3,lS3.34,»;» 

FIREBUBRIBHT3 > . > 

.BYTE 204, 31, 23, 133, 133, 23, 31, 2»4 
.BYTE e,e:3S; 132, 132,3s!«.t 

FIREBU8LEFT1 

.BYTE 3,B,20e, 38, 38,200,0, 3 

. BYTE 48, 404, I00; 10i, 10i, I00, 204, 48 

FIREBU8LEFT2 •••••,. 
.BYTE 0,0,8,230,230,8,0,0 
.BYTE 204:204,lA0, 102, li2, 100,204,204 

FIREBU8LEFT3 

.BYTE 0,0,200,38,38,200,0,0 

.BYTE 31,204, 100; 102,102, 100,204,91 

FIREBUBDOWNl 

.BYTE 2,33,202,33,194,9,2,12 
.BYTE l2a,*2,l43,*Z,l4i; 94,128, 48 

FIREBU8D0MN2 

.BYTE 2,243,10,243,2,9,2,3 

.BYTE 128,93, 1&0,9S, 128,96, 12B. 192 

FIREBU8D0MN3 



1 1 


BORDER 


t 2 


DIRT 


• 3 


DIRT 


1 4 


DIRT 


1 3 


DIRT 


1 & tc 7 


PLAYER- B FIREBUB 


1 B >< 9 


ENEMY BUa 01 


1 10 l( 11 


ENEHY BU8 #2 


1 12 d 13 


BABY FIREBUa 


1 14 


FIREBUB TRAIL 


1 13 l< 16 


PROXIMITY BOMB 


1 17 


EXPLOSION 


I 18 << 19 


FIREBUB SPARK 


120 21,22,23,24 
1 •#»»**»#»»*»• 


SPARK BARLINE 




1 • FZREBUB BPARK HANDLER » 


1 • BY Kyla 


P««cack * 


1 •»•••*** ••* 





I 



.LOCAL 



J8R START8PARK IFIRINB. 
JMP M0VE8PARK iMOVINg. 
STARTSPARK 

DEC FIRETIME I DEC TIMER. 

PHS ISSI"""* '"^ <>«• BRANCH! 

LDA ••03 I RESET TIMER. 

STA FIRETIME I SAVE IT. 

LDX PLAYNO I BET PLAYER ». 

LDA TRI80,X I BET TRISBER. 

BNE 7RETURN I IF <>0 BRANCH! 

LDA NOBULL,X IFIRED BULLETS. 

CMP •*03 I IF >-S, 

BCS 7RETURN I BRANCH? 

LDA BULLETL I NE* 10 I CHECK BAR 

CMP 024 I LINE. 

BEQ 7RETURN I IF CHR-24 BRANCH! 

LDX 0*03 I SET UP X. 



?aEARCH 



LDA BULLDIR,X I THIS BULLET 

CMP •»FF (ACTIVE? 

BEQ 7F0UND I MO ! BRANCH! 

DEX I YES, CHECK NEXT 

BPL 7SEARCH I MORK AREA. 

JMP 7RETURN I NONE AVAILABLE. 



INC NOBULL 

LDA BUBL 

STA BULLX.X 

LDA BUaL-^l 



FIREBUBUP3 



I INC BULLETS FIRED. 

IFIREBUB'S LO 

■ADDRESS. 

IFIREBUB'S HI 
STA BULLY, X lADDRESS. 
LDA TYPE I8ET FIREBUB'S 
STA BULLDIR.X IDIRECTION. 
LDA «20 (SET BPARK LIFE. 
8TA BULLTIME,X I SAVE IT. 
LDA »6 I BET UP FIRINB 
STA BULLNOISE (SOUND EFFECT. 
LDX BULLPNT (DEC BAR LINE OF 
INC BULLETLINE,X (REMAININB 
LDA BULLETLINE.X (SPARKS. 
CMP 024 (COON'T ALLOM 
BNE 7RETURN (SPARK EJECTION 
LDA BULLPNT ( IF NO SPARKS 
(ARE ON BAR 



CMP 010 



BEQ 7RETURN (LINE. ] 

DEC BULLPNT (DEC POINTER. 



MOVESPARK 



LDX *«B3 



(HANDLE ALL, 



LDA BULLDIR,X (SPARK DIRECT. 
CMP •»FF IIS IT »FF7 
BNE 7SPARKS (NO! BRANCH! 
JMP 7NEXTBULL (HANDLE NEXT. 

LDA BULLX,X (BET BULLET LO. 

STA ZLD (SAVE IT. 

LDA BULLY, X (BET BULLET HI. 



7BUB11 
7BU8t2 
7BUB13 
7BU814 
7BUSt9 
7BUa21 
7BUB22 
7BUB23 
7BUB24 
7BUa23 
7BU82a 
7E8B1 



.BYTE 194,33,202,33,2,9,2,12 
.BYTE 131,92; 163;92; I28;9i, 128.48 

.BYTE 48,12,2,9,9,30,192,0 
.BYTE 0,3,140,96.96,128,48,12 

.BYTE 0,240,14,9,9,14,48,48 
.BYTE 12,12,176,96,96,176,13,0 

.BYTE 0,0,242,9,9,2,12,12 
.BYTE 4&, 48, l2s;9&,46, 143,0,0 

.BYTE 3,0,2,37,201,2,3,0 

.BYTE 0,192,128,99,108,128,0,192 

-BYTE 12,3,2,9,37,194,0,0 
.BYTE 0,0,131,108,96,128,192,48 

.BYTE 0,0,0,1,1,8,160,32 
.BYTE a; 10, 32;64, 44,010,0 

.BYTE 0,0,0,1,1,40.8.0 
.BYTE 0,32,40,64,64,0,0,0 

.BYTE 0,0,0,1,9,2,0,0 
.BYTE 0,0,128,96,44,0,0,0 

.BYTE 0,0,2,9,1,0,0,0 
.BYTE 0,0,0,64,96; 128.0,0 

.BYTE 0,8,40,1,1,0,0,0 
.BYTE 0,0,0,44,64,40;32,0 

.BYTE 32,160,8,1,1,0,0,0 
.BYTE 0,0,0,44;64,32, 10,8 

.BYTE 0,0,0,171,171,0,0,0 
.BYTE 0,0,0,234;234;0;0;0 

.BYTE 0,0,14,40,40,14,0,0 
.BYTE 0,0; 174,40,40,176,0,0 

.BYTE 0,30,2.8.8.2,30,0 

.BYTE 0,140,128,32,32; 128, 140,0 

.BYTE 194,2,2,0,0,2,2,194 

.BYTE 13i;i2B,128;B,0;i2e,12a,131 

.BYTE 0,0,0,2,2,0.0,0 
.BYTE 0;0,0; 12s; 128,0,0,0 

.BYTE 0,0, 1,4,4,1,0.0 
.BYTE 0,0;64,l6;i4,44,0,0 

.BYTE 0,3,0,48,48,0,3,0 
.BYTE 0,192,0,12,12,0,192,0 



STA ZLO-H 

LDY »»»e 
LDA (ZLO>, 
CMP 018 
BEQ 7BLANK 
CMP 017 
BNE 7N0BLANK 



(SAVE IT. 
(CLEAR Y-RE8. 
(OET CHAR. 
(BULLET? 
(YES. BRANCH! 
(EXPLOSION? 
YES! BRANCH! 



7N0BLANK 



LDA 014 (FIREBUa TRAIL. 
3TA (ZLO),Y (BAVE IT. 
INY I INC POINTER. 

BTA (ZLD),Y (SAVE IT. 

LDA BULLDIR,X (SPARK DIRECT. 
BPL 7REDRAM (IF >0 BRANCH! 
LDA •»FF (TURN OFF SPARK. 
3TA BULLDIR,X (SAVE IT. 
DEC NOBULL (DEC FIRED SPARKS. 
JMP 7NEXTBULL (HANDLE NEXT. 

TAY (MOVE A TO Y. 

LDA BULLX,X (BET SPARK LO. 
CLC (CLEAR CARRY. 

ADC 7L0ADD,Y (DIRECTION ADD. 
STA ZLO (SAVE IT. 
LDA BULLY, X (BET SPARK HI. 
ADC 7HIADD,Y IDIRECTION ADD. 
STA ZLO+1 ISftVE IT. 

I CLEAR Y-REB. 

I SET CHARACTER. 

I CLEAR BIT 7. 

I IF -0 BRANCH! 

IIS IT -147 

I YES! BRANCH! 



I SAVE CHARACTER. 
IBIT 7 ON. 
X I SAVE IT. 
(RESTORE CHAR. 
(BORDER? 

BRANCH! 



• FIREBUB CHARACTER USABE • 



LDY 0* 
LDA (ZLO),Y 
AND •»7F 
BEQ ?80 
CMP #14 
BEQ 780 

PHA 

LDA VtSB 

BTA BULLDIR, 

PLA 

CMP 01 

BEQ 7NEXTBULL I YES ! 

CMP 013 (BOMB? 

BEQ 7NEXTBULL (YES! BRANCH! 

CMP 012 (BABY FIREBUB? 

BEQ 7NEXTBULL I YES ! BRANCH! 

JSR 7P0SITI0N ISAVE NEW X«<Y. 

LDA 017 I EXPLOSION. 

3TA (ZLO>,Y I3AVE IT. 

•"" I INC POINTER. 

ISAVE IT. 

I TURN ON DETO- 

STA B00MN0I8E I NAT I ON SOUND. 

BNE 7NEXTBULL I BRANCH! 

LDA WIS (BULLET. 
STA (ZLO),Y (SAVE IT 
INY - •"- 

ADC 0*01 
STA <ZLO>,Y 



INY 

BTA (ZLO), 

LDA 021 



INC POINTER. 
I INC CHAR. 



REDEFINED CHARACTER 
BLANK 



-.r, ,....„,,, ISAVE IT. 

J8R 7P031TI0N ISAVE NEM X«cY. 

DEC BULLTIME.X (DEC LIFETIME. 

BPL 7NEXTBULL [IF >B BRANCH! 

LDA 0*01 (FORCED HALT. 

BNE 7ST0P I BRANCH! 



TNEXTBULL 



TRETURN2 
7P0aiTI0N 



DEX 

BHI 7r)ETURN2 

JHP TSPBRKY 

RTS 
N 
LDft ZLD 
STA BULLX.X 
LDB ZLO+1 
STft BULLY, X 
RTB 



I DIRECTIONAL ADD ONa 

I 

7L0ADD 

.BYTE 128,2, 
7HIADD 

.BYTE 2S3,a, 



IDEC POINTER. 

■IF <a BRANCH! 
IJUHP ON IT. 

ILATER Y'ALL. . . 

I BET NEM LO. 
(SAVE IT. 
I SET NEH HI. 
I SAVE IT. 
■PLEASE LEAVE! ! 



DONARH 
ARMBCAN 



234,128 
2S9,8 



ARHIT 
NXTBOn 



> EXPLOSION ROUTINE • 
• BY Tan Hudson • 



LDA 
8TA 
LDA 

EXPDLP LDA 
STA 
LDA 
CMP 
BCC 
SEC 
SBC 
LDY 
STY 

PHI TAX 
LDA 
CLC 
ADC 
STA 
LDA 
ADC 
STA 
LDY 
LDA 
STA 
INY 
STA 
JSR 
INC 
LDA 
CHP 
BNE 
RTS 

I 

ITTIME DELAY 

I 



»« 

EXPPH 
»6b 
EXNOISE 

• 17 

EXPCHR 
EXPPH 

• 13 
PHI 

»13 

•a 

EXPCHR 



EADDL.X I 

EL02 

EL0*1 

EADDH.X 

EL02*! 

•• 

EXPCHR 

<EL02) ,Y 

(EL02> ,Y 

WAIT 

EXPPH 

EXPPH 

•26 

EXPDLP 



RESET.. . 
EXP, PHASE 
AND START. . . 
EXP. SOUND 

SET UP 

EXPLOSION CHAR. 

SET PHASE 

>127 

NO, PHASE 1 

ADJUST INDEX 

FOR PHASE 2 
AND SET UP. . . 
ERASE CHARACTER 
PUT PHASE IN X 
AND ADD. . . 
EXPLOSION... 
ADDRESS. . . 
OFFSET . . . 
FOR THE BYTE. . . 
TO BE. . . 
CHANBED! 

NON PUT 

EXPLOSION CHAR. 
■ONTO DISPLAY 



LDY 
LDA 
CLC 
ADC 
STA 
LDA 
ADC 
STA 
STY 
LDY 
LDA 
CMP 
BEO 
CMP 
BNE 
LDA 
STA 
DEX 
BPL 
BHI 
LDY 
DEY 
BHI 
J MP 



•3 
BLO 

DIRADL,Y 

BL02 

BLO+l 

DIRADH,Y 

BL02*1 

YTEMP 

•C 

(BL02> ,Y 

• 18 

ARHIT 

•6 

NOARH 

•6« 

ARMED, X 

ARMLP 
DECBT 
YTEHP 

NXTBOM 
ARMSCAN 



I SCAN 4 DIRS. 
(ADD. . . 

■DIRECTION 

■OFFSET.. . 
■TO BOMB. . . 
■ADDRESS 



■SAVE Y RES. 
■SET DESIRED. . . 

■DIRECTION BYTE 
■SPARK? 
■YES. ARM IT! 
■FIREBUa? 

■ NO! 

I 1 SECOND DELAY 
■ARM IT! 
■NEXT BOMB 
■LOOP IF MORE 
■NOH HANDLE TIME 

■ RESTORE Y RES 
■NEXT DIRECTION 
■NO MORE DIRS! 
■LOOP IF MORE 



■HANDLE BOMB TIMERS, DETONATE 



DECBT 
DBLP 



BLOMl 
BL0H2 



■WAIT A LITTLE 
■NEXT PHASE 
■BET PHASE 
■ALL DONE? 
■NO. LOOP BACK! 
■ BYE! 



MAIT 

XLOOP 

YLOQP 



LDX 
LDY 
DEY 
BNE 
DEX 
BNE 
RTS 



••■3 ■THIS ROUTINE 
»»FF ■HASTES A LITTLE 

■TIME SO THE 
YLDOP I EXPLOSIONS 

■CAN BE SEEN. 



LDX 
LDA 
BMI 
LDA 
STA 
LDA 
STA 
LDY 
LDA 
BNE 
LDA 
BNE 

LDA 
EOR 

BTA 
INY 
CLC 
ADC 
STA 
LDA 
STA 
LDA 
STA 
DEC 
BNE 
LDA 
STA 
LDA 
STA 
STX 
BTY 
JSR 
LDX 
LDY 
DEX 
BPL 
RTS 



■BET • OF BOMBS 
I IS IT ARMED? 
■NOT ARMED! 
■LOAD POINTER. .. 
■MITH BOMB'S. .. 
■ADDRESS 

■SET THE BYTE 

■FROM DISPLAY 
■ IT'S OK. 
■RESTORE IMABE 



BOMBCT 

ARMED, X 

NOTARH 

BOMBL,X 

ELO 

BOMBH,X 

ELOfl 

• • 

(ELO) ,Y 
BLOHl 

• 13 
BL0H2 



••80 ■T088LE HI BIT 
(ELO>,Y ■TO FLASH BOMB 



(ELO),Y ■RE-DRAH BOMB 



• 1 

(ELO) ,Y 

»••• I SET FUSE... 

AUDF4 I FREQUENCY 

••88 (TURN ON 

AUDC4 I FUSE SOUND! 

ARMED, X ■DEC TIMER 

NOTARH ■NO EXPLOSION YET 

••00 (TURN OFF. . . 

AUDC4 ■FUSE SOUND 

••80 ■MARK THE BOMB 

ARMED, X ■INACTIVE 

XTEHP ■SAVE X REB. 

YTEMP ■SAVE Y REB. 

EXPLOD (BOON! ! ! 

XTEHP (RESTORE X 

YTEHP (RESTORE Y 

(NEXT BOMB 

DBLP (LOOP IF MORE 

(BYE! 



• PROXIMITY BOMB HANDLERS * 

* BY Toa Hudson * 



• BABY FIREBUe HOVER • 

• BY Toa Hudson • 



ARMBOH LDX 
ARMLP LDA 
CMP 
BNE 
LDA 
STA 
LDA 
STA 
LDY 
LDA 
CMP 
BEO 
CMP 
BNE 
LDA 
STA 
BNE 
8ETARM LDA 
STA 
LDA 
INY 
STA 
BNE 



BOMBCT 

ARMED, X 

»»FF 

NXTBOM 

BOMBL,X 

BLO 

BOnBH,X 

BLO+1 

•0 

(BLO) ,Y 

• IS 
DONARM 

• 12 

8ETARM 
••80 
ARMED, X 
NXTBOM 

• 13 
(BLO) ,Y 

• 16 

(BLO) ,Y 
ARHIT 



■SET • OF BOMBS 
■SET ARMED FLAB 
(ARMED YET7 
■ YES! 

■SET BOMB... 
■ADDRESS. .. 
■AND SAVE IT 

■SET CHAR... 
■FROn DISPLAY 
■IS IT BOMB? 
■YUP, IT'S OK. 
■IS IT 8ABY7 
(NO, ARM IT! 
(THIS CORRECTS A 
■SHALL PROBLEM, 
■DI8ABLIN8 BOMB 
■RESTORE. . . 
■BOMB SRAPHIC... 
■ON DISPLAY 



■SET ARM TIMER 



BMOVE LDX 

EB8LP STX 
LDA 
BNE 
J MP 

EACTtVE LDA 
STA 
LDA 
8TA 
LDY 
LDA 
CMP 
BEO 
DEC 
BMI 
LDA 
STA 
LDA 
STA 
JMP 

ALLDEAD PLA 
PLA 
JMP 

EB80K LDA 



EB8T0T 

ESaiX 

E88ACT , X 

EACTIVE 

NXTE88 

EBBL.X 

HLO 

HL0*1 
•0 

(HLO) ,Y 
• 12 
ESaOK 

Esas 

ALLDEAD 
•0 

EBBACT.X 
•■» 

EATNOISE 
NXTEB8 



BAHOVR 
•3 



■BET BABY COUNT 
■SAVE INDEX 
■IS IT ACTIVE? 

■ YES! 

■NO. NEXT BABY. 

■ SET 

(BABY ADDRESS 

(AND SAVE IT 

■BET BABY'S... 
■SCREEN BYTE 

■ IS IT OK? 

■ YES! 

■NO. KILL ONE 
■ALL DEAD! 
(MARK BABY. . . 

■INACTIVE 
■START EAT1N8 

■BOUND 
(DO NEXT ONE 
■CLEAR. . . 
■STACK, 
■SAME OVER! > ! 
■TRY 4 DIRS. 



STA ETRY 
ESSDLP LDA RANDOM 
AND ^3 
TAY 
LDA E8aL,X 

ADC DIRADL 
STA ADL 
LDA ESBH.X 
ADC DIRADH 
STA ADL-l-l 
LDY •0 
LDA (ADD.Y 
BEQ MOVESa 
CMP ^14 
BEQ MOVEBB 

NEDIR DEC ETRY 

BPL EaBDLP 

NXTEBB DEX 

BPL EBBLP 
RTB 

MDVESB LDA •14 

STA (HLO),Y 

INY 

STA (HLO),Y 

DEY 

LDA ^12 

STA (ADL>,Y 

INY 

CLC 

ADC •! 

STA (ADD.Y 

LDA ADL 

STA EaeL,x 

LDA ADL+t 

STA EBDH.X 

JMP NXTE88 

ADD8CO LDY •• 
BED 
CLC 
LDX ^2 

A8CLP LDA SCORE, X 
ADC SCOADO, 
STA SCORE, X 
STY SCO ADD, 
DEX 

BPL ASCLP 
CLD 

■ 

■SHOM SCORE 

■ 

SH08C0 LDA ••IB 

STA 8HC0LR 
LDX •• 
LDY ^0 

8SC0LP LDA SCORE, Y 
JSR 8H0BCD 
INX 
INX 
INY 

CPY 03 
BNE SSCOLP 
RTS 

■ 

■8H0H 2 BCD DIBITB 

I 

SHOBCD STA SHOBYT 
AND ••BF 
ORA SHCOLR 
STA SCOLIN-i- 
LDA SHOBYT 
L8R A 
LSR A 
LSR A 
LSR A 

ORA SHCOLR 
STA SCOLIN, 
RTS 

( 

■SHOW CURRENT LEVEL 

( 

SHOLVL LDY CSSB 

STY SHCOLR 
LDA BCDLVL 
LDX •It 
JMP SHOBCD 

I 

ISHOH • OF LIVES 

■ 

anOLIV LDA LIVES 
BMI ENDSHO 
ORA •*90 
STA SCOLIN-r 

ENDSHO 

RTS 



■SAVE INDEX 
■BET RANDOM. . . 
■DIRECTION 0-3 
■PUT IN Y RES. 

■ BET 

■BABY ADDRESS... 

Y ■AND ADD.. . 

■DIRECTION... 

(OFFSET 
Y 

■BET CHARACTER 
■FROM SCREEN 

■ IT' 8 TUNNEL! 
■BUB TUNNEL? 

■ YES! 

(NEXT DIRECTION 
■LOOP IF MORE 
(NEXT BABY 

■ LOOP IF MORE 
■ALL DONE! 
■ERASE BABY. . . 
■UBINB CHAR 14 
■ (BUa TRAIL) 



■DRAM BABY. 
(IN NEM. .. 
(LOCATION 



(UPDATE BABY'S 
■ADDRESS 



(AND LOOP! 

■ZERO Y REB. 

■DECIMAL MODE 

■CLEAR CARRY 

■DO 3 DIBITS 

■BET DIBIT 
X (ADD INCREMENT 

■SAVE DIBIT 
X (CLEAR INCREMENT 

■NEXT DIBIT 

■LOOP IF nORE 

■NO MORE DECIMAL 



■COLOR 
■SAVE IT 
■DISPLAY INDEX 
■DIBIT • 
■BET DIBIT 
■SHOW ON SCREEN 
■NEXT SCREEN POS 
I (INC TttlCE) 
(NEXT DIBIT 
(DONE ALL 37 
(NO! 
(ALL DONE! 



(SAVE BCD BYTE 
(SET LOH DIBIT 
(ADD COLOR 
1,X (SHOM IT! 
I SET BCD BYTE 
(SET HI DIBIT 



(ADD COLOR 

X (SHOM IT! 

(ALL DONE! 



(COLOR 1 
■SAVE COLOR 
■SET LEVEL • 
(PUT IN IITH BYTE 
(SHOW IT! 



(SET • OF LIVES 
l<0! ! 

■ADD COLOR 3 
19 (SHOM IT! 

■ALL DONE! 




USE MODEMS & RS-232 PERIPHERALS 
DIRECTLY WITH YOUR ATARI! 



R-Verter 



SERIAL BUS MODEM ADAPTOR 



Compatible with — 

• Anchor Automation (inclucding 
Volksmodem™ — no cable required) 

• Hayes • Novation • and Others 
Comes with Software — 

Including Smart Terminal 
Emulator (with X Modem) and 
"R:" Handler 
Works with — Atari 400™; 600X1"^"; 
800™; 800XL™** 



Also Offering - INTERFAST-I''' 
Buffered Printer Interface — 

• 4K Buffering - Programmable - Print 
Custom Character Sets • Easy to use 

• Compatible with all Software 

ONLY $129.95! 



I ADVANCED INTERFACE DEVICES | 



P. O. Box 2188 
Melbourne, Fl. 32902 
(305) 676-1275 



CIRCLE #122 ON READER SERVICE CARD 



ISSUE 23 



ANALOG COMPUTING 



PAGE 55 



FAMILY FINANCES 
ATARI, INC. 
Sunnyvale, CA 94086 
32K Disk $49.95 



by Bob Curtin 



One of the really great things about dropping by 
the ANALOG offices is seeing all the new software 
products for Atari computers and getting the latest 
scuttlebutt about upcoming or existing hardware. 

Sometimes it seems, though, that the less flashy— 
but certainly no less useful— software gets lost in the 
shuffle. (Picture your local plumber being trampled 
by a crowd stampeding to catch a glimpse of Michael 
Jackson.) Well, Family Finances is just that kind of 
software package— it's hardworking, incredibly use- 
ful, friendly and reliable, but lacking in spectacle and 
glitter. 

Written by Jerry Falkenhan, FF has actually been 
around for over two years, but you've seen it in the 
familiar APX boxes, being sold as two separate pro- 
grams. Atari, in one of their brighter moments, com- 
bined the two programs into one package, dressed it 
up in nifty Atari bookcase packaging and renamed 
it. I've been using the originals for two years, and this 
review is based on that experience. The few changes 
made to the programs (aside from the cosmetics) only 
serve to improve them; functionally, they remain un- 
changed. 

Family Finances is, as before, broken up into two 
parts. The first disk contains the Family Cash Flow 
(FCF) program, and the second, the Family Budget 
(FB) program. Let's take a look at each in turn. 

Where did it all go? 

FCF is designed to provide a detailed reporting of 
where your bucks have gone and it's superb in that 
role. The program allows up to 100 individual expense 
entries in 13 categories and 20 income entries in 13 
categories. All 26 categories are user-definable, and 
if you're lucky enough to have two disk drives, the 
storage capacity is doubled, allowing 200 entries in 
expense and 40 entries each month in the income 
mode. Even with one disk drive, I've never come close 
to the 100-entry limit in a single month. 

The input consists of an entry number (which can 
come in handy as a reference number on receipts or 
checks), the date, a label or description up to fifteen 
characters in length and, of course, the amount of 
the income or expenditure. All data inputs are two- 
step routines, so that you can change your mind be- 
fore committing the data to memory. 

One of the things that make Family Finances such 
a joy to use is this amicability. You can almost fire 
it up and use it without referring to the documenta- 
tion — which, by the way, is impeccably written, com- 



plete and put together in a neat little booklet that's 
just right for reference when you need it. Access to 
the various modes is accomplished through one-touch 
commands, and any invalid inputs are immediately 
trapped, flagged and looped back for another try. 

The displays are clean and easy to read, with trail- 
ing zeros and right justification on all columns. Mr. 
Falkenhan has made clever use of the keyboard graph- 
ics symbols in his menu displays, and the dark text 
on light background makes the whole package easy 
on the eyes. 

But the pleasure of this program is in the using. 
The different modes allow you to review your income 
or expenditures on several different levels. In addi- 
tion to the screen displays, hard copies can be had 
in each of the different modes, including the detail 
of expenditures (which eats printing paper at a fright- 
ening rate, but these allow you to make comparisons 
of your data from month to month). FCF gives you 
a good, detailed recording of your expenditures and 
income — standing alone, it does a magnificent job in 
that respect. However, coupled with the analysis capa- 
bility provided in the FB section, it becomes a power- 
ful tool for helping with the household finances. 

Budgeting made painless. 

The second disk, FB, contains the means to set up 
and maintain a monthly budget, as well as to provide 
a thorough analysis of the data stored on your FCF 
disk. Again, the program is multi-leveled. Once you've 
projected your budget and filed it, Family Finances 
takes the data from the FCF disk and compares it to 
your budget figures. 

Your entire budget — or any part of it, both income 
and expenditures — can be analyzed in a host of dif- 
ferent ways, on a monthly or yearly basis, or for any 
period in between. Budgeted vs. actual spending cate- 
gories in yearly and monthly modes, or single-category 
comparisons, can be conjured up at will and dumped 
to a printer, if you wish. 

As with FCF, the options open to you are self ex- 
planatory, and there are prompts and screen informa- 
tion all along the way to help you out. Unlike a lot 
of programs — where, once you get a handle on it, the 
on-screen help turns into a hindrance — Family Fi- 
nances does no such thing. It just keeps doing a su- 
perb job. . .quickly and efficiently. 

An interesting aside: FF is written in Atari BASIC 
and is completely open to examination and modifi- 
cation. For those who are new to BASIC program- 
ming and want to see how the pros operate, you'll be 
able to do just that with this product. 

The price makes this package a real value. More- 
over, when used to even a fraction of its potential. 
Family Finances can save you scads of money, by tag- 
ging unwanted trends and unwise spending habits, I 
heartily recommend it to anyone looking for a fast, 
accurate and easy way of integrating their computer 
into the household financial chores. D 



PAGE 56 



ANALOG COMPUTING 



ISSUE 23 



Another 

BASIC 

Bug 



by R.T. Dolbeare 



I recently spent several exasperating evenings try- 
ing to track down the source of an error in one of 
my BASIC programs. My problem was that the first 
character of one of my string variables was inexplic- 
ably altered during program execution. I was finally 
able to determine that the alteration was occurring 
immediately after a "GET" statement, but the rea- 
son for the change was certainly not apparent. 

After more frustrating evenings, I finally found a 
previously-undocumented error in Atari BASIC. It 
seems that use of the "VAU' function and the GET 
statement in the same program causes the very un- 
desirable string variable alteration described above. 

The obvious solution to the problem is not to use 
both functions in the same program. Certainly, the 
results of the \AL function can be simulated in other 
ways, so that one need never use that function. How- 
ever, there is a way to use both functions in the same 
program — once the nature of the problem is under- 
stood. Suppose we have a program segment such as: 



lee OPEN UX,4,B,"Ki" 

118 DIH 5$C8} 

128 S$="84-86-38":REM DATE YR-MO-Oft 

138 VEAR=UALfSl):REH RETURNS 84 

148 ? "BEFORE GET STATEMENT, 5*=";S* 

158 ? "HIT ANY KEY": GET ttl,& 

168 ? "AFTER GET STATEMENT, S$=";S« 

178 END 



Type in and run this simple program, and you will 
find that S$ prints normally in Line 140, but that, 
at Line 160, the 8 in S$ has been replaced by what- 
ever character you've hit in response to Line 150. If 



you hit the RETURN key, then the 8 was replaced 
by a RETURN, which inserted a blank line in the 
output. A little experimentation will show that, if 
several string variables and \A.L functions are used, 
only the string variable last used with the VAL func- 
tion is affected by the subsequent GET statement. 
The seemingly obvious (but still improper) fix is to 
insert an extra line prior to the GET statement with 
a VAL function, such as: 

135 »(=WALC"1"> 

This seems to work fine the first time the program 
is run. However, list the program after execution has 
been completed and you will find that the program 
itself has been altered. The J in Line 135 will be re- 
placed in the listing by whatever character you hit 
for the GET statement. If this is a non-numeric char- 
acter, then ERROR 18 (invalid string character) results 
the next time the program is run. The program list- 
ing really looks messy if you've entered a RETURN. 
This has to be the worst of bugs — one which actually 
alters your program during execution. 

There is a way around this problem ... by defining 
a dummy string variable as shown below: 

135 DIM DUI*IY$C1}:DUHMV$="1":K=VAL(DUH 
NY$} 

Now, when the program is executed, the contents 
of DUMMY$ will indeed be altered, but the program 
listing itself will remain unchanged. As long as the 
actual contents of DUMMY$ are not important, then 
no problem results. D 



ISSUE 23 



ANALOG COMPUTING 



PAGE 57 





Graphics 8 
Character 
Generator 



16K Cassette or Disk 




by Tom Hudson 



Here at ANALOG, we often receive requests for 
specific utility programs. Sometimes the requests are 
beyond the scope of a simple article, but often the 
staff has a solution right in hand. 

Such was the case with John Chung's request for 
a subroutine which would print text in graphics mode 
8, to allow mixing text with charts and other graph- 
ics. Luckily, I happened to have written just such a 
subroutine for my Retrofire game in ANALOG is- 
sue 14. 

I've modified the routine so that it fits on page 6, 
can be called by BASIC with a simple USR call and 
prints text almost any way you could possibly want 
it. It'll even work with an alternate character set! 

The listings. 

Listing 1 is the BASIC code necessary to install 
the character generator into your computer's memory. 
Type in this code and verify your typing with 
C:CHECK or D:CHECK2. When you're sure your 
typing is correct, save the code to your storage device. 

Whenever you want to use the character genera- 
tor, the code in Listing 1 is all you need to get the 
routine ready to use. 



Listing 2 is a short program which demonstrates 
the use of the character generator subroutine. After 
you've typed in this code and checked your typing, 
add it to Listing 1. 

Using the subroutine. 

When you have merged the two listings, RUN the 
program. After a few seconds, your screen should look 
like Figure 1. 

HORIZONTAL LINE 




DOUBLE 

TILT : 

TILt 

'li 

Ti:Lr 



P fl C I H G 



L 
I 
N 
E 



N 

M 

D 

E 
D 
I 

S 
P 

u 



- 48 

- 2^ 



6 
5 

. 5 _6 



T = 2 



2 
8 

3 
2 



T = 
TILT - 



6^ 7& 
65496 



Figure 1. 



BACK ISSUES 



Catch up on 
ivhat you^ve missed! 



A.N.A.LO.G. 



400/800 _ 





ISSUE 2 

Wasting Arrays 
Atari's CPU 
Download Terminal 
Converting BASiC 
Disk Files 




ISSUES 

GTIA Graphics 

Audio in Your Programs 

NOREM 

Grapliic Violence 

Color Slot Machine 



P!aT23aGj.H^^7a<Catizrr -mm^t 




ISSUE 9 

Build Your Own 400 
Keyboard 

Harvey Wallbanger 
Forth -Dos 
Letter Writer 






ISSUE 13 

Fine Scro//ing Part 1 
Roundup 
Space Assault 
Observational Astronomy 
CIO Routines 



ISSUE -14 

Fine Scrolling Part 2 
Disassembler in BASIC 
Hexpad 
Lumberjack 
Retrofire! 



ISSUE 15 

Fine Scrolling Part 3 
Knights and Chalices 
Music Synthesizer 
Bricklayer's Nightmare 
Alternative Keyboard 
Handler 



Send check or money order to 

ANALOG Back Issues 

P.O. Box 615 

Holmes, PA 19043 



All back Issues $4.00 each 




ISSUE 11 

Strings in BASIC 

C:CHECK 

Disk Cataloging Utility 

Adventure in the 

Fifth Dimension 
Moving Missiles in BASIC 




ISSUE 16 

Fine Scrolling Part 4 
Create-A-Font 
Bar Chart Subroutine 
Shooting Stars 
3-D Object Rotation 



Issues 2, 11, 21 and 22 are also still available. 
Order now— limited quantities available. 



MasterCard and Visa orders call: 

1-800-345-8112 

in PA. 1-800-662-2444 



ISSUE 23 



ANALOG COMPUTING 



PAGE 59 



The screen looks like a graphics display, but there's 
no easy way you could generate the diagonal text on 
a graphics screen. All that text is generated on a 
normal graphics 8 screen! If you don't believe this, 
add the following line to the program and re-RUN it. 

685 COLOR l:PLOT e,e:DRAMTO 319,159 

Now, when the program executes, it will draw a di- 
agonal line across the screen. Now do you believe me? 
Let's see what makes this program tick. 

Before we start looking at the beginning of the pro- 
gram let's look at the end of it, where the heart of 
the program lies. 

Lines 700 - 730 are a short subroutine which calls 
the machine language subroutine and prints the text 
on the graphics 8 screen. The BASIC USR statement 
is used and is in the following form: 

A=USR (1536 , X , V , ADR CA$) , LEN (A$) , TILT} 

The first parameter in the USR parentheses is 1536. 
Do not change this number. It is the address of the 
machine language subroutine. If you look at Line 
4000, you will see that the routine is placed in the 
address range 1536 - 1770. 

The next parameter is the variable X. This num- 
ber, ranging from to 39, indicates the character's 
horizontal position on the screen. X coordinates larger 
than 39 will give unknown results, so be careful. 

The third parameter is the variable Y. This num- 
ber ranges from to 184 and indicates the vertical 
position of the top of the character on the screen. 
This value corresponds with the graphics 8 Y-coor- 
dinate system. You can place a character anywhere 
on the screen vertically. 

The fourth parameter, ADR(A$), is the address 
of the string containing the text we want to print. 
In this demo program, we're using the string A$ to 
hold the text. If you're always going to print the 
same message, you can imbed it in the USR call. 
For example, to always print the message "HELLO," 
simply replace ADR(A$) with: 

AI>R«"HELLO"J 

The fifth parameter, LEN(A$), is the length of the 
string we're printing. If you know the length of the 
string is going to remain constant, you can simply 
replace LEN(A$) with the number. In the earlier ex- 
ample with the message HELLO, the length would 
always be 5 . Be sure that the message never goes past 
the right side of the screen (X = 39), since the pro- 
gram was not designed to handle this. 

The sixth parameter, TILT, tells the subroutine how 
to display the text. A TILT of will product normal 
text. A TILT of 319 will print text vertically. If TILT 
is a multiple of 40, the text will be plotted diagonal- 
ly. The demo program will demonstrate the use of the 
subroutine with different TILT values. 



Now let's step through the rest of the program. 

Line 170 GOSUBs to Line 4000, the charac- 
ter generator setup subroutine. The subroutine 
simply reads the machine language data and 
POKEs it into page 6. When using the charac- 
ter generator in your own programs, the GOSUB 
4000 statement should be one of the first things 
you do. This step only needs to be performed 
once. 

Line 180 sets up the graphics 8 screen. You 
can use the character generator with either a full- 
screen or split-screen graphics 8 mode. 

Line 190 dimensions the string A$. We will 
use this string to hold the text we want to put 
on the screen. The character generator will ac- 
cept any Atari character, even inverse and con- 
trol characters. Simply place them in the string 
and call the routine. 

Lines 200 - 260 show the parameters needed 
to print a normal horizontal text line. If you look 
at Figure 1, you'll see this line printed at the top. 
Note that for a horizontal line the TILT value 
is 0. 

Lines 270 - 330 show how to double-space 
a text line. Simply set TILT to 1, and the text 
is spread out, with one space between each char- 
acter. A TILT of 2 would place two spaces be- 
tween each character, and so on. 

Lines 340 - 400 print a message vertically. The 
only special action necessary here is to set TILT 
to 319. If you want to double-space vertically, set 
TILT to 639. 

Lines 410 - 470 do something I've yet to find 
a practical use for, but it's interesting. By setting 
TILT to 65215, you can print the text vertically, 
backwardsl Note that the Y position must be set 
to the top of the lowest character. 

Lines 480 - 5 70 print a group of eight diag- 
onal lines. They are printed on the screen with 
the corresponding TILT setting. As you can see, 
multiples of 40 produce nice diagonal messages. 

Lines 580 - 680 print seven lines that are 
reverse-slope diagonals. This is achieved by sub- 
tracting the normal TILT value from 65536. If 
you're familiar with the binary number system, 
you'll realize that this produces a negative num- 
ber. 

Lines 700 - 730 call the machine language 
subroutine and actually print the text. 

Your own applications. 

What can you do with this character generator? 
Some obvious uses that come to mind are labeling 
graphs, charts, diagrams and other graphics 8 pictures. 
Figure 2 shows a couple of fancy things I did in about 
twenty minutes with the generator. 

(continued on page 60) 



PAGE 60 



ANALOG COMPUTING 



ISSUE 23 



HORIZONTftL TEXT 

D0UBLE-5PflCEI> TEKT 

(iTnm;Md AND lower case! 



M 
E 
R 
T 

I 
C 
A 

L 




ANY 
CHARACTER 
THE ATARI 

CAN 
DI5PLAY 



I5DRAWKCAB ^o W^^Ck'' '■ \ 



Figure 2. 

You aren't limited to just the Atari characters, ei- 
ther. You can develop your own character set and plot 
those characters on the screen. All you have to do 
is place the character set in memory and POKE its 
base address into CHBAS (756 decimal). The charac- 
ter generator does the rest. 

Finally, I'd like to thank John Chung of Alexan- 
dria, Virginia for prompting me to write the subrou- 



WANT 

TO 

SUBSCRIBE? 



It's worth it. 



CALL TOLL FREE 
1-800-345-8112 

In Pennsylvania 

1-800-662-2444 



tine. The code itself had been sitting around for quite 
a while, but his letter actually made me sit down and 
turn it into a useful product. D 

Listing 1. 

4eee for M=1536 to 177e:READ N:P0KE X, 

N!NEKT X: RETURN 

4610 DATA 216,104,104,104,133,203,104, 

104,133,204,169,0,133,205,6,204,38,205 

,6,204,38,205,6,204,38 

4020 DATA 205,165,204,24,101,88,133,20 

6,165,205,101,89,133,207,6,204,38,205, 

6,204,38,205,165,204,24 

4030 DATA 101,206,133,206,165,205,101, 

207,133,207,165,206,24,101,203,133,206 

,141,240,6,165,207,105,0,133 

4040 DATA 207,141,241,6,104,133,213,10 

4,133,212,104,104,141,236,6,206,236,6, 

104 , 141 , 239,6 , 104 , 141 , 238 

4050 DATA 6,169,0,141.237,6,169,8,141, 

235,6,172,237,6,177,212,16,5,206,235,6 

41 127 201 32 
i066 DaIa 1^6,5,24,105,64,16,7,201,96, 
176,3,56,233,32,133,204,169,0,133,205, 
133, 268,6,204, 38 

4070 DATA 205,6,204,38,205,6,204,38,20 
5,165,205,24,109,244,2,133,205,164,208 
,177,204,77,235,6,172 
4080 DATA 237,6,145,206,230,208,165,20 

4090 DATA 238,237,6,206,236,6,48,26,17 

3,240,6,24,109,238,6,133,206,141,240,6 

,173,241,6,169,239 

4166 DATA 6,133,267,141,241,6,76,166,6 

,96 



CHECKSUM DATA. 

(see page 25) 

4000 DATA 170,883,129,480,161,243,321, 
97,388,873,386,4131 



Listing 2. 



106 REH WKMKimmtiiicKitmmKmiwiciotKmtmm 

116 REH * GR. 8 CHARACTER DEHO « 

126 REN « * 

136 REH « BY TOH HUDSON « 

146 REH * « 

156 REH * ANALOG COHPUTING » 

160 REH MKKKKKKKmcmilCMmmWWKKmtmtKKlC 

176 G05UB 4000: REH **» SET IT UP *»* 

186 GRAPHICS 8:SETC0L0R 2,6,6 

196 DIH AiC26} 

200 REN 

216 REH LET'S DO A HORIZONTAL LINE! 

226 REH 

236 X=12:Y=6 

246 Ai="H0RIZ0NTAL LINE" 

256 TILT=6 

266 GOSUB 766 

276 REH 

280 REH DOUBLE SPACING 

296 REH 

366 X=6:V=12 

316 A$="DOUBLE SPACING" 

326 TILT=1 

336 GOSUB 766 

340 REN 

356 REH NOH A UERTICAL LINE 

366 REH 



ISSUE 23 



ANALOG COMPUTING 



PAGE 61 



378 X=4:Y=48 

386 A$="VERTICAL LIME" 

398 TILT=319 

488 G8SUB 788 

418 REH 

428 REN HON ABOUT INVERTED VERTICAL? 

438 REN 

448 X=8:Y=128 

458 A$="UPSIDE DONN" 

468 TILT=eS215 

478 GOSUB 788 

488 REN 

498 REN NOH SONE NORIML DIAGONALS 

500 REH 

518 X=12:Y=:24 

528 A5="TILT = •' 

538 FOR TILT=48 TO 328 STEP 48 

548 A$C8)=5TR$CTILT) 

558 G85UB 788 

568 V=V+8 

578 NEXT TILT 

588 REN 

598 REN AND SONE REVERSE DIAGONALS! 

608 REN 

618 X=25:Y=152 

628 A5="TILT = " 

638 FOR T2=48 TO 288 STEP 48 

648 TILT=65536-T2:REN iHHf REVERSE! iHHt 

658 A$f8)=STR$CTILT) 

668 GOSUB 788 

678 V=V-8 

688 NEXT T2 

698 END 

788 REN 

718 REN NOH PLOT THE TEXT! 

728 REN 

738 A=liSRC1536,X,V,ADR<A*l,LENCASj.TIL 



CHECKSUM DATA. 

(see page 25) 



188 DATA 539,424,15,84,21,325,557,519, 

842,589,76,617,82,715,378,5783 

258 DATA 722,991,97,392,103,683,55,717 

, 984 , 98 , 742 , 96 , 787 , 189 , 791 , 7279 

488 DATA 977,83,269,89,968,645,897,998 

, 184 ,772,82,976, 369 , 758 , 578 , 8557 

558 DATA 994,381,242,186,764,84,838,34 

2,565,629,575,999,392,624,63,7598 

788 DATA 86,546,92,113,837 



Assembly language listing. 



) SRAPHICS 8 CHARACTER BENERATOR 


1 BY TOM 


HUDSON 




1 ANALOB 


COHPUTINB 




XPOS 


»CB 


ICHAR. X SAVE 




♦ CC 


12-BYTE. . . 


HI 


»CD 


IPOINTER 


DESTLO 


»CE 


IDESTINATIDN. . . 


DE3THI 


• CF 


IPOINTER 


COPCNT 


»DB 


IBYTE COPY COUNT 


COP IX 


• Dl 


I COPY INDEX 


CHADLO 


• 04 


(CHARACTER. . . 


CHADHI 


»D3 


IDATA POINTER 


SAVMSC 


»3a 


(SCREEN ADDRESS 




»U2F4 


(CHARACTER SET 


1 LOCATE 

I 


ROUTINE ON 
»- •0600 


PABE b 


SHONUM 


CLD 


(NO DECIMAL MODE 




PUA 


(DISCARD 




PLA 


(DISCARD HI 




PLA 


(PULL X POSITION 




STA XPOS 






PLA 


(DISCARD 




YOU CAN'T TELL 

A DISK DRIVE 

BY ITS COVER!! 




WITH A HAPPY ENHANCEMENT INSTALLED THESE ARE 
THE MOST POWERFUL DISK DRIVES FOR YOUR ATARI COMPUTER 

WARP SPEED SOFTWARE DISK READING AND WRITING 500% FASTER 

HAPPY BACKUP — Easy to use backup of even the most heavily protected disks 

HAPPY COMPACTOR - Combines 8 disks into 1 disk with a menu 

WARP SPEED DOS — Improved Atari DOS 2. OS with WARP SPEED reading & writing 

SECTOR COPIER — Whole disk read, write and verify in 105 seconds 

1050 ENHANCEMENT - Supports single, 1050 double, and true double density 

810 ENHANCEMENT — Supports single density 

SPECIAL SUGGESTED RETAIL PRICE: Get the HAPPY ENHANCEMENT 810 or 1050 version with the HAPPY BACKUP PROGRAM 
plus the multi drive HAPPY BACKUP PROGRAM, plus the HAPPY COMPACTOR PROGRAM, plus the HAPPY DRIVE DOS plus the 
HAPPY SECTOR COPY, all with WARP DRIVE SPEED, including our diagnostic, a $350.00 value for only $249.95, for a limited time only! 
Price includes shipping by air mail to U.S.A. and Canada. Foreign orders add $10.00 and send an international money order payable through a 
U.S.A. bank. California orders add $15.25 state sales tax. Cashiers check or money order for immediate shipment from stock. Personal checks require 
2-3 weeks to clear. Cash COD available by phone order and charges will be added. No credit card orders accepted. ENHANCEMENTS for other 
ATARI compatible drives coming soon, call for information. Specify 1050 or 810 ENHANCEMENT, all 1050s use the same ENHANCEMENT. 
Please specify -H model for all 810 disk drives purchased new after February 1982, call for help in 810 ENHANCEMENT model selection. Dealers 

now throughout the world, call for the number of the dealer closest to you. atari is a registered trademark of Atari Computer inc. 



HAPPY COMPUTERS, INC. 



p. O. Box 1268 



Morgan Hill, California 95037 



(408) 779-3830 



CIRCLE #123 ON READER SERVICE CARD 



PAGE 62 



ANALOG COMPUTING 



ISSUE 23 




A PREFERRED CUSTOMERS^have over 
2,000 software Items to choose from. 

A PREFERRED CUSTOMERS...get at least 
25% off all titles (and often morel). 

A PREFERRED CUSTOM ERS..buY from 
people who specialize in ATARI ® exclusively. 

A PREFERRED CUSTOMERS... receive 
prompt, knowledgeable service. 

A PREFERRED CUST0MERS...receive8 pg 
newspapers 9 times a year filled with critiques, 
special tips, and classified ads for new and used 
equipment. 

A PREFERRED CUSTOMERS...receive our 

80 pg. catalog and 20 pg. pricebook. 

A PREFERRED CUSTOM ERS...receive con 

sistant low prices and good knowledgeable 
service. 

A PREFERRED CUSTOMERS... 




800-631-3111 



TO join by phone 

call toll free 

in Mass. call 617-879-5232 

Please have credit card number ready! 

Or return this coupon with $5.00* 



■ rr 



YES, I want to be a preferred customer of 

CompuClub". Rush me my catalog and price 

book. Enclosed pleaseflndmv$5.00 registration 

fee. 

Please make check payable to compuclub" 

payment enclosed ncheck nmoney order 

Bill my DMastercard nvisa Expires 

ID# 

Signature ^ 

Name^ 

Address 



n 



_State_ 
Computer ModeL 



I City 
I Com 



-Zlp_ 



DDIsk DTape 



Hours: Mon. - Fri. 11;00 AM - 7:00 PM Eastern time 
Answering services after hours 
compuciub", P.O. BOX 652, Naticl< IVIA 01760 
•overseas membership $15.00 per year 
Jl^ Atari - Trademark of Warner communications Co. 



J 





PLA 




IPULL Y POSITION 




STA 


LO 


laET UP. .. 




LDA 


• ■ 


J2-BYTE. . . 




STA 


HI 


lADDRESS POINTER 




A8L 


LO 


»«2 




ROL 


HI 






A8L 


LO 


t»4 




ROL 


HI 






ASL 


LO 


1*8 




ROL 


HI 






LDA 


LO 


INOM ADD ADDRESS 




cue 




lOF START OF 




ADC 


SAVMSC 


(SCREEN 




STA 


DESTLO 






LDA 


HI 






ADC 


SAVMSC -H 






STA 


DE8THI 






A3L 


LO 


1*16 




ROL 


HI 






ASL 


LO 


1*32 




ROL 


HI 






LDA 


LO 


INOM ADD. . . 




CLC 




■PREVIOUS RESULT 




ADC 


DESTLO 


ITO SET 




STA 


DESTLO 


1 SCREEN ♦ Y»4» 




LDA 


HI 


I (18T BYTE OF 




ADC 


DESTHI 


IDESIRED LINE) 




STA 


0E8THI 






LDA 


DESTLO 


■NOW ADD X P08 




CLC 




IFOR PLOT BYTE! 




ADC 


XPOS 






STA 


DESTLO 






STA 


LQSAVE 






LDA 


DESTHI 






ADC 


•a 






STA 


DESTHI 






STA 


HISAVE 






PLA 




IPULL. . . 




STA 


CHADHI 


ISTRIN8 ADDRESS 




PLA 




(AND SAVE IT 




STA 


CHADLO 


ION PAOE 




PLA 




IDISCARD 




PLA 




IPULL V SAVE. . . 




STA 


LENOTH 


ISTRINB LEN8TH 




DEC 


LENBTH 


(MAKE 1 LESS! 




PLA 




IPULL Si SAVE. . . 




STA 


ADDFCH 


lADD FACTOR 




PLA 








STA 


ADDFCL 






LDA 


t0 


I2ERQ OUT. . . 




STA 


CHRNUM 


1 CHARACTER • 


CLOQP 


LDA 


•0 


1 RESET INVERSE 




STA 


INVERSE 






LDY 


CHRNUM 


IBET CHAR INDEX 




LDA 


(CHADLO 


,Y iBET CHAR* 




BPL 


NOINV 


I NOT INVERSE 




DEC 


INVERSE 


ISET INVERSE FLAB 




AND 


• »7F 


IHAKE NOT-INVERSE 


NOINV 


CMP 


»32 


ICHAR < 327 




BCS 


N0TL32 


INO. CHECK MORE 




CLC 




1 ADJUST NUMBER 




ADC 


• 64 


lUP BY 64 




BPL 


aOTSCR 




N0TL32 


CMP 


• 96 


iCHAR < ■?67 




DCS 


QQTSCR 


iNO, IT'S OK 
1 ADJUST NUMBER 




SEC 






SBC 


•32 


IDOHN 32 


QDTaCR 


STA 


LO 


lAND CALC. . . 




LDA 


•• 


ICHSET INDEX 




STA 


HI 






STA 


COPCNT 






ASL 


LO 


1*2 




ROL 


HI 






ASL 


LO 


1*4 




ROL 


HI 






ASL 


LO 


l*B 




ROL 


HI 






LDA 


HI 


INCH ADD CHSET 




CLC 




IBASE ADDR 




ADC 


CHBAB 


1 (CAN BE ANYWHERE) 




STA 


HI 




CPPNUtI 


LDY 


COPCNT 


IBET COPY COUNT 




LDA 


(LO) ,Y 
INVERSE 


lAND CHAR BYTE 




EOR 


(INVERSE IF REO'D 




LDY 


CHRNUM 


IBET SCRN OFFSET 




STA 


(DESTLO). Y I PUT ON SCREEN 1 




INC 


COPCNT 


jNEXT COPY BYTE 




LDA 


COPCNT 


ICOPY DONE? 




CMP 


•S 


1 (8 BYTES COPIED) 




BEQ 


NXTCHR 


IYE8I 




LDA 


DESTLO 


INO, ADD 40. . . 




CLC 




ITO POINT TO. . . 




ADC 


• 49 


INEXT SR.8. . . 




STA 


DESTLO 


ISCAN LINE 




BCC 


COPNUH 






INC 


DESTHI 






BNE 


CDPNUn 




NXTCHR 


INC 


CHRNUM 


INEXT CHARACTER 




DEC 


LENBTH 


IMORE CHARACTERS? 




BMI 


FINISH 


INO! 




LDA 


LOSAVE 


IQK, RESTORE... 




CLC 




iScftEEN POINTER 




ADC 


ADDFCL 


IWITH VERTICAL/ 




STA 


DESTLO 


IHQRIZONTAL ADO 




STA 


LOSAVE 






LDA 


HISAVE 






ADC 


ADDFCH 






STA 


DESTHI 






STA 


HISAVE 






JMP 


CLOOP 


lAND 00 NEXT ONE! 


FINISH 
1 MiaCEl 


RTS 




IAD 1 03! 


.LANEOUS WORK 


AREAS 


INVERSE 


»" 


•■H 


1 INVERSE VIDEO FLAB 


LENBTH 


• ■ 


• +1 


laTRINB LENSTH 


CHRNUn 


♦ » 


• ■H 


1 CHARACTER • 


ADDFCL 


»a 


»+l 


ILINE ADD FACTOR 


ADDFCH 


»■ 


••n 




L03AVE 


*■ 


•+1 


lADDRESS 


HI3AVE 


»« 


•♦l 


IHOLD AREA 



CIRCLE #124 ON READER SERVICE CARD 









THE MARI TOUCH TABLET 

With AtaiiArlist software 



And many more. See below. 





Koala Pad, Movie Maker, B/Graph, Atari Touch Tablet, Micro Painter, Music 
Construction Set, Fun With Art, Graphic Master, G, Chip Cookboolc, L030, 
Graph It and Infocom Adventures (plus others — see your dealer). 



A rainbow of color and black and white too. That's what you'll 
set from our GP-700AT — the only printer you'll ever need for 
your Atari computer 

First the Color: Ours is the ONLY full-color printer that's 
supplied with exclusive "Rainbow"* software to sive color 
printouts from virtually all color sraphics prosrams for your 
Atari computer It connects directly to your Atari (no 850 
interface required). Just plus it in and a whole wide world of 
printed color is instantly yours. Our"Rainbow" software converts 
your imases from the Atari Touch Tablet, Koala Pad, Loso, and 
most other popular color sraphics prosrams to fun color print- 
outs on plain paper We even include the"G. Chip Cookbook" free 
on disk so you can start color printins immediately 

Black and White Too: The GP-700AT is also a hish quality dot 
matrix black and white printer It has friction and tractor feed, 
makes multiple copies, and can do letters, invoices, labels, word 
processins and more. 

The GP-700AT is priced at just $599 — available at leading 
department and computer stores, ever>A/^here. 

For the outlet nearest you, phone 818-365-9521. 

'"Rainbow" software by Computer E.A.S.E. 




AXIOM CORPORATION 

1014 Griswold Avenue • San Fernando, CA 91340 
Telephone: (818) 365-9521 • TWX: 910-496-1746 



GP-Series Printers Built for Lastins Quality by SEIKOSHA. 



CIRCLE #125 ON READER SERVICE CARD 



Always the Lowest Prices on the Finest Quality 
at. . . COMPUTER CREATIONS 



A 

ATARI 




ATARI HOME COMPUTER 

ATARI 600 ■ Home Computer (1 6K RAM) CALL FOR 

ATARI 800XL- Home Computer (64K RAM) UPDATED PRICES 

DISK DRIVES 

RANA 1 000 

•TRAK ATD 2 (Single/Double Density/Parallel int. 2 K Buffer 

•TRAK ATD4 (Dual Drive) CALL 

TRAK TURBO DOS FOR 

•INDUS GT (Free Software) UPDATED 

ASTRA 1 620 PRICES 

ATR ■ 8000 

HAPPY ENHANCEMENT for Atari 810 and 1050 Disk Drives .... 
MY-POS for ATR-8000 

ATARI ADDITIONAL EQUIPMENT 

ATARI 1010" Program Recorder 

ATARI 1 020" 40-Column Color Printer/Plotter 

ATARI 1 025" 80-Column Printer CALL 

ATARI 1027" Letter Quality Printer FOR 

ATARI 1 030" Direct Connect Modem UPDATED 

ATARI 1050" Disk Drive PRICES 

CX77 ATARI Toucti Tablet" 

•Screen Dump Program FREE!! vnilh purchase of 0X77 



HARDWARE COVERS 

ATARI 1010 6.95 

ATARI 1200 6.95 

ATARI 1025 6.95 

ATARI 600XL 6.95 

ATARI 1050 6.95 

ATARI BOOXL 6.95 

ATARI 1027 6.95 

GEMINI 10X 6.95 

GEMINI 15X 7.49 

POWERTYPE 6.95 

DELTA-15 7.49 

RANA 1000 6.95 

INDUS 6.95 

TRAK 6.95 

INQUIRE FOR OTHERS 

RAM (MEMORY) BOARDS 

Microbite64K(600XL) 
Expansion 99.95 



DISKETTE/CARTRIDGE/ 
CASSETTE FILES 

Flip'N' File 10 3.95 

Flip'N' File 15 6.95 

Data Defender 16.99 

Flip'N' File/The Original ... 16.95 

Disk Bank 3.99 

Colored Library Case 2.99 

Disk Bank/5 (holds 50) ,,,. 12.99 

PovKer Strip (6 outlet) 16.95 

Lineguard Spike 

Suppressor 1 3.99 

Disk Drive Cleaning Kit .... 11.99 
Ring King Wallet 

(holds 10 disks) 4.99 

Ring King Wallet 

(holds 20 disks) 7.99 



AUTHORIZED SERVICE CENTER 
ATARI • TRAK 

STAR MICRONICS (GEMINI) 

Call for prices and services. 



ATARI PLATO SYSTEMS 

The Electronic Highway To The Universe 
Over 6000 Educational Programs 
SYSTEM I SYSTEM II 
Atari 1030 Modem Atari 850 Interface fVlodule 
Atari Plato Cartridge Atari Plato Cartridge 
Anchor Mark XII Modem 
$159 $549 

GENERIC DISKS ^ ^PRIC^'^ 

Generic 100% Defect-Free/Guaranteed MiniFloppy Disks 

Diskettes (1 Box Minimum) ■ 10 Per Box 

SS/SD SS/DD DS/DD 

1 or 2 Boxes 15.49 15.99 19.99 

3 - 9 Boxes 14.49 14.99 18.99 

10+ Boxes 13.99 14.49 17.99 

Bulk Diskettes with Sleeves ■ Price per Disk 

SS/SD SS/DD DS/DD 

10-29 1.45 1.49 1.89 

30 ■ 99 1 35 1 39 1 79 

DEALEFI INQUmiES INVITED ioO+ 1^29 1^35 1^69 

PRINTERS 

'GEMINI 10X(80 Column) 269.00 

•GEMINI 15X(136 Column) 399.00 

•DELTA 10 (80 Column) 419,00 

•RADIX 10 (80 Column) 639.00 

'RADIX 15 (136 Column) 749.00 

'POWERTYPE Daisyvi/heel 379.00 

EPSON RX-80 (80 Column) 339.00 

EPSON RX-80 FT (80 Column) 469.00 

EPSON FX-80 (80 Column) 555.00 

EPSON FX-100 (136 Column) 749.00 

OKIDATA92P 449.00 

EPSON RX 100(136 Column) 439.00 

TTX LETTER Quality Printer (includes Tractor Feed) 369.95 

PRINTER INTERFACE CABLES 

APE FACE 65.00 

APE FACE vKith serial port 79.00 

MPP-1 150 Parallel Printer Interface 79.00 

PRINTER RIBBONS 

GEMINI Printers (Black/Blue/Red/Purple) 3.00 

EPSON Printers 6.95 

MONITORS 

Sakata SC 1 00 Color Screen 239.00 

Sakala Green Screen 99.00 

Sakata Amber Screen 109.00 

Monitor Cable 10.00 

Sanyo 1 2"Green Screen 84.95 

Sanyo 1 2" Amber Screen 89.95 

Sanyo Color Screen 229.95 

MODEMS 

MPP-1 OOOC Modem 129.00 

Signalman Mark XII Modem 269. OO 

•DEALER INQUIRIES INVITED 



To order call TOLL FREE 

1-800-824-7506 




ORDER LINE ONLY 



COMPUTER CREATIONS, Inc. 

P.O. Bo 292467 - Dayton, Ohio 45429 

For information call: (513) 294-2002 (Or to order in Ohio) 

Order Lines Open - 8:30 a.m. to 8:00 p.m. Mon.-Fri.; 1 0:00 a.m. to 4:00 p.m. Sat. (Eastern Standard Time). FREE Catalog with each 
order. Minimum $10 per order. Prepaid Money Order- Free Shipping MasterCard- Visa- C.O.D. (Add $2.50). All orders add $3 50 
shipping and handling in Continental United States. Actual freight will be charged outside U.S to include Canada Alaska Hawaii 
Puerto Rico. Price is subject to change without notice. Call for update prices and availability of product Ohio residents add 6% sales 
tax. A.P.O. freight $10.00. 



CIRCLE #126 ON READER SERVICE CARD 



ISSUE 23 



II 



ANALOG COMPUTING 




DARK 
HORSE 



A presidential 
campaign simulation 



16K Cassette or 24K Disk 

by Kenneth Amidon and Wayne Underwood 

Dark Horse is a single-player simulation of a presi- 
dential primary campaign. It takes place in the near 
future, and you play the part of an underdog candi- 
date. Your backers provide you with a substantial "war 
chest" and give you complete freedom to use the 
funds as you see fit. At the start of each of the next 
nine "weeks," you decide where and how to spend 
your funds, then watch the results come in. This is 
a game of strategy and planning, calculated to satisfy 
the lust for power in those of us whose purses (or 
ideals) make political office an unlikely goal. 

The setup. 

Type in the program exactly as it appears. Be care- 
ful with the data statements. Use D:CHECK or 
C.-CHECK to check your work. Load the program 
and, when the READY prompt appears, turn the vol- 
ume of your TV to a moderate level and type RUN. 

Choosing your level of play. 

After a brief introduction, screen number 1 will ap- 
pear. You can change the level of play by pressing the 
SELECT key. Each level starts vou off with a differ- 
ent amount '.^i money in your campaign fund. Begin- 
ners receive $20 million; intermediate players get $17 
million, and experts have a mere $14 million. Wo 



recommend playing at the beginner level, at least un- 
til you are familiar with how the program operates. 

An important note: don't spend more money than 
you have. If your campaign funds drop to zero, your 
backers will abandon you— and you'll automatically 
lose! 

Once you have determined the level you want to 
start at, by using the SELECT key, you should press 
START to begin the game. Note that the BREAK 
key has been shut off, so you cannot use it to end 
the game. Pressing SYSTEM RESET at any time will 
end the game and return you to BASIC. If you want 
to play again, simply type RUN followed by the RE- 
TURN key. 

Weekly report and main menu. 

After you have turned up the volume on your TV 
and pressed START, screen number 2 will be dis- 
played. There are two important parts to this screen: 
the weekly report (top of screen) and the main menu 
(bottom of screen). Let's look at the main menu sec- 
tion first. 

There are nine numbers, followed by a description 
of the screen you will see if you enter that number: 
The first six numbers will provide vou with in- 



PAGE 66 



ANALOG COMPUTING 



ISSUE 23 



formation about each of the six regions that the 
nation has been divided into for purposes of this 
simulation. 

Pressing the number 7 will bring you to the 
resource menu. 

Number 8 can be used to return to the week- 
ly report screen when viewing a region. 

The number 9 should be pressed when you 
have finished ail your resource allocations for the 
week and are ready to "get out the vote." 

Note: all main menu choices (the numbers I 
through 9) are single-key input. You do not need 
to press RETURN. Any input errors will simply 
redisplay the main menu at the bottom of the 
screen. 

Now, let's take a look at the weekly report section 
of screen number 2. This report provides you with 
basic information which you need to judge how well 
your campaign is progressing. 

The first thing it tells you is the week number. Re- 
member, there are nine weeks to the primary season, 
so budget wisely at the beginning. The week number 
is also important because dilferent states within each 
region have primaries on different weeks. More about 
this under the discussion of regional reports. 
Next, you will see the total campaign funds avail- 




CIRCLE #127 ON READER SERVICE CARD 



able to you. This figure is automatically reduced as 
you allocate funds to various resources. Don't over- 
spend in the later weeks — if you spend all your money 
before the last week, you will lose! 

Following the figure for campaign funds, the screen 
will display the states that have primaries that week. 
Below this, you will see the number of delegates you 
have won and lost. These figures will change at the 
beginning of each week, after you have allocated your 
resources and won — or lost — primaries. 

The next thing you'll see are the results of the latest 
national poll, showing how many voters favor you (the 
player) or "the Senator," or are undecided. Your stand- 
ings in the polls are very important and are a direct 
result of the resources you have used in the past weeks. 
The more favorable your standing, the more likely it 
is that voters will choose you in the upcoming 
primaries. Watch the change from week to week and 
be prepared to spend extra money if your standing 
should slip. Remember that the Senator, an old cam- 
paigner, has a solid block of supporters. It's unlikely 
that you will take many away from him. As the under- 
dog, your goal is to sway the undecided voter to your 
camp. 

Finally, if you successfully seek a debate with your 
opponent, the announcement of the upcoming debate 
will appear on this screen. 

Regional reports. 

Now, let's look at the regional reports (screen num- 
ber 3). Press the number I key. This will bring you 
to the current report for the North Atlantic region. 

The name and number of the region are displayed, 
along with the current week number. Then you'll see 
a list of the states in that region, the number of dele- 
gates each state has and the week number when each 
state holds its primary. The last column will show 
whether you won or lost a particular state after its 
primary is held. 

Because resources are allocated on a regional basis, 
not state-by-state, it is important to know the total 
delegates available in a region for the current week. 
You may want to make a note of this figure before 
you begin allocating resources. 

Once you have distributed resources, this regional 
report will also tell you what you have done in that 
particular locale. 

All six regional reports have a similar structure. You 
should review all of them each week, before you be- 
gin designating resource use. And, a quick review be- 
fore you end the week's orders will tell you if you've 
accomplished everything you wanted to that week. 

When you are through reviewing the current re- 
gional reports, press the number 8 key to return to 
the weekly report. You can go directly to the resource 
menu by pressing number 7, but you should note your 
delegate count and poll results before you start allocat- 
ing your precious dollars. 



ISSUE 23 



ANALOG COMPUTING 



PAGE 67 



Resource menu. 

When you press the number 7 key from a main 
menu screen, you will see the resource menu, screen 
number 4. As with the main menu, you can go to 
any screen on the resource menu with a single-key 
input — you don't need to press the RETURN key. In 
this case, the key entries are the letters A through 
G. Any input errors during the resource allocation 
phase of the simulation will automatically return you 
to this screen. 

You're now ready to decide how you will conduct 
your campaign for the current week. You will spend 
your funds on various resources in an attempt to in- 
crease your standing in the national poll and to win 
the delegates available in the current week. Let's look 
at each resource. 

A - ALLOT COORDINATORS (screen 5). 
First, press A to get to the allot coordinators 
screen. In addition to telling you how much is 
left in your campaign fund, this screen tells you 
how many coordinators have been assigned to 
each region. The maximum number of coordi- 
nators is thirty-six, but you can assign as many 
of these as you want to a region. 

Each coordinator you assign to a region will 
cost you $7500 per week. The "Current Coords 
Cost" line shows how much it will cost to main- 
tain the current allocation of coordinators for the 
week. At the bottom of the screen, you are 
prompted to enter the number of the region you 
wish to change. Press the number, then the RE- 
TURN key. 

Note that, unlike the single-key entries from 
the main and resource menus, making changes 
or allocating resources demands that you use the 
RETURN key. This procedure allows you to cor- 
rect any mistakes (with the DELETE/BACK- 
SPACE key) before you press RETURN. 

After entering the number for the region you 
want to change, you will be prompted to enter 
the number of coordinators you want in the re- 
gion. This is an absolute number, not an addi- 
tion to any existing coordinators. For example, 
if Region 1 displays three coordinators, and you 
want four in that region, you enter a 4 when 
prompted for the number of coordinators. The 
screen will change Region 1 from three to four 
coordinators. After you have assigned coordina- 
tors in the way you want, examine the "Current 
Coords Cost" line. 

It's important to realize that the cost of coor- 
dinators is not deducted from your current cam- 
paign funds until the end of the week. That is, 
after you have ended the week's play by pressing 
9. Therefore, be sure that the current coordina- 
tor cost is less than the available campaign funds, 
to avoid losing by overspending. 

When you are satisfied with your coordinator 



distribution, you can return to the resource menu 
by simply pressing RETURN. This is true for all 
resource allocation screens. You return to the re- 
source menu at any time by pressing RETURN 
with no other input. 

B - BUY ADVERTISING (screen 6). When 
the resource menu is displayed, press B to go to 
the buy advertising screen. You will be prompted 
at the bottom of the screen to enter the region 
number where you want to advertise. Enter the 
number (1 through 6) and press RETURN. The 
next prompt asks how much you want to spend. 
You must spend at least $100,000. Enter the 
amount without any spaces, commas or dollar 
signs. For example, $200,000 would be entered 
as 200000. If you want to reduce an amount 
previously allocated, you may enter a negative 
amount by using the minus sign. Example: you 
have $300,000 allocated to Region 1 but would 
like to reduce this to $100,000. You should enter 
-200000. 

The funds you spend on advertising will be 
automatically deducted from your available cam- 
paign funds. When you are through allocating 

(continued on next page) 



Put a Monkey Wrench 
Into your ATARI 800 or XL 

Cut your programming time from tiours to seconds, and have 33 

direct mode commands and functions. All at your finger tips and 

all made easy by ffie MONKEY WRENCH II. 

Ttie MONKEY WRENCH II plugs easily Into Jril $49.95 

fhecartridgeslofof your ATARI and worl<s 

with the ATARI BASIC. 

Order your MONKEY WRENCH II today and ' 

enjoy the conveniences of these 33 features] 

• Line numbering 

• Renumbering basicline numbers 

• Deletion of line numbers 

• Variable and current value display 

• Location of every string occurrence 
String exchange 
Move lines 
Copy lines 

Up and down scrolling of basic programs 
Special line formats and page numbering 
Disk directory display 
Margins change 
Home key functions 
Cursor exchange 

• Upper case lock 

• Hex conversion 

• Decimal conversion 

• Machine language monitor 

• DOS functions 

• Function keys 

The MONKEY WRENCH II also contains a machine " 
language monitor with 16 commands that can be used 
to interact with the powerful features of the 6502 microprocessor 




MAE 



An easy to use but powerful Macro Assembler/Editor Includes ML. 
Monitor Word Processor and more. The Best for Less! 
Now Only $59.95. 
(For use with ATARI 800 or XL and Disk Drive.) 




CIRCLE #128 ON READER SERVICE CARD 



PAGE 68 



ANALOG COMPUTING 



ISSUE 23 



funds for advertising in all regions, press the RE- 
TURN key to return to the resource menu. 

C - CANVAS/MASS MAILING (screen 7). 
From the resource menu, press C to reach the 
canvas/mass mailing screen. Unlike advertising, 
this "PR" costs a standard amount per region; 
$200,000. You cannot spend more or less, al- 
though you do not have to spend anything. 

The prompt at the bottom of the screen asks 
you to input the region number where you want 
a canvas campaign this week. Enter a number 
(i through 6) and press RETURN. The screen 
will display the region number chosen and the 
cost. 

It's important to remember that, once you have 
entered a region number and pressed RETURN, 
you cannot change your allocation. Be sure that 
you are allocating canvassing funds to the region 
you want before you press RETURN. 

When you have made all the allocations you 
want, press the RETURN key without any other 
input to return to the resource menu. 

D — DEBATE (screen 8). Press D from the 
resource menu, and the debate screen will dis- 
play. You will be able to have only one debate 
during the nine- week primary season. Attempt- 



ing to get the Senator to debate costs $100,000 
— for each attempt. If you're successful, and the 
Senator agrees to debate, it will cost you an ad- 
ditional $250,000. 

Your success at getting a debate depends heavily 
on your standing in the national poll — the low- 
er your percentage, the less likely the Senator is 
to agree. However, you can reach a point where 
your polls are so high that the Senator will agree 
because it will help his campaign — and will ac- 
tually hurt yours. 

In addition to the problem of timing in regard 
to your campaign success, you should keep in 
mind that a debate has a strong effect on your 
poll standings and chances to win delegates for 
several weeks. Try to get a debate when you have 
two or three weeks of important, large primaries 
coming up. 

If you answer Y to the debate prompt, your 
campaign funds will be reduced by $100,000, and 
the resource menu will reappear. Any other re- 
sponse will simply return you to the resource 
menu. 

E - ELECTION APPEARANCE (screen 9). 
Enter E and press RETURN from the resource 
menu to display the election appearance screen. 




SOFTWARE 



611 Cypress Dr. 
Fairborn, OH 45324 



ORDERS ONLY PHONE: 1-(800)-282-0333 
INFORMATION LINE: 1-(513)-879-9699 



1 



AD #6 



11 
Jl 



ABBY'S SUPER BUYS 



Canyon Climber (Dl $11 

Claim Jumper (D) (C) $11 

Crossfire (D) (C) (Rl $11 

Demon Attack IR) $11 

Frogger IDI $11 

Jawbreal<er IDI ICI (Rl $11 

Kayos (CI $ 7 

Ms. Pac Man (R) $25 

Moon Shuttle (D & CI $11 

O'Riley's Mine (D & CI $11 

Picnic Paranoia (Dl (CI $11 

Serpentine (R) $11 

Wall War (Dl $11 

Zaxxon (Dl $11 



ATARI 

Assembler Editor (Rl $49 

Atari Basic (Rl $29 

Atari Logo (Rl $79 

Atari MacroAssembler (Dl $69 

Atari Microsoft II (D & Rl $69 

Atari Music (Dl $30 

AtariWriter (Rl $75 

Eastern Front (Rl $35 



Joust (Rl $37 

Mario Brothers (Rl $37 

Pilot (Rl $69 

Pole Position (Rl $37 

NEW! Atari Lab/Science (Dl $69 

NEW! Syn-File (Dl $75 

NEW! Syn-Calc (Dl $75 

NEW! Syn-Trend (Dl $75 

BRODERBUND 

Apple Panic (Dl (CI $15 

Bank Street Writer IDI $39 

Choplifter (Dl $19 

Drol IDI $25 

Lode Runner (Dl $27 

Operation Whirlwind (Dl $25 

CBS 

K-dos IDI $15 

K-razy Kritters (Rl $ 9 

K-razy Shootout IRI $ 9 

DATASOFT 

Bruce Lee ID & CI $21 

Clowns & Balloons IDI ICI $12 

Pacific Coast Hwy IDI ICI $15 



ELECTRONIC ARTS 

Archon (Dl $29 

D-Bug (Dl $26 

Hard Hat Mack (Dl $26 

M.U.L.E. (Dl $29 

Music Construct Set (Dl $29 

One on One (Dl $29 

Pinball Constr Set IDI $29 

EPYX 

Curse of Ra (Dl (CI $15 

Dragon Riders Pern (Dl $25 

Gateway to Apshai (Rl $29 

Pitstop (Rl $25 

Puzzle Mania IDI $23 

Silicon Warrior (Rl $25 

Summer Games (Dl $25 

Temple of Apshai (Dl (CI $25 

Upper Reaches (Dl (CI $15 

GAMESTAR 

Star Bowl Football (Dl ICI $17 

StarLeague Baseball IDI ICI $25 

INFOCOM 

Enchanter (Dl $33 

Infidel IDI $33 

Planetfall (Dl $33 

Sea Stalker (Dl $29 

Sorceror (Dl $33 

Witness (Dl $33 

Zork I, II, III (Dl ea. $27 



RESTON 

Moviemaker IDI $39 

S S I 

Battle Normandy (Dl (CI $28 

Broadsides (Dl $28 

Carrier Force (Dl $43 

Combat Leader (Dl (CI $28 

SUBLOGIC 

Flight Simulator II (Dl $39 



HARDWARE 



ATARI LOWERS PRICES! 

Atari 800 XL computer CALL 

Atari 1 027 letter qual CALL 

Atari 1 025 dot matrix CALL 

Atari 410 prog record CALL 

Atari 1010 prog record CALL 

Atari 1 050 disk dr/DOS III CALL 

Irak AT-D2 disk drive $369 

Irak AT-D4 disk drive $518 

Indus GT disk drive $349 

MPP-1000C AD/AA modem ... .$139 

MPP 64K expan, 600 XL $110 

Koala Touch Tablet (Rl $ 75 



DISKS 



Wabash SSSD box of 10 $17 

Elephant SSSD box of 10 $19 

Elephant SSDD box of 10 $24 




(C) Cassette Tape (D) Disk (R) ROM Cartridge 



Software orders over $30 free shipping UPS, continental U.S. 
only. Add $2 shipping orders under $30. C.O.D. S5 extra. Ask for hard- 
ware freigfit charges. Ohio residents add 5.5% sales tax. All items 
subject to availability and price change. We sell items guaranteed 
by manufacturer. Due to our low prices, we will not honor unauthor- 
ized returns. (Call info, line for authorization.) 



CIRCLE #129 ON READER SERVICE CARD 



ISSUE 23 



ANALOG COMPUTING 



PAGE 69 



You may schedule personal appearances in only 
one region per week. Assume you make several 
stops in each state in the region. These appear- 
ances will cost you $200,000 for the week. 

You choose the region in which you will ap- 
pear by answering the prompt with a region num- 
ber (J through 6) and pressing RETURN. Again, 
once you enter a number and RETURN, you are 
committed to the allocation. Make sure your en- 
try is correct before you press RETURN. After 
selecting a region, you will be returned to the 
resource menu. If you do not want any personal 
appearances, simply press RETURN without any 
other input. 

F - FUND RAISER (screen 10). Pressing F 
from the resource menu will display this screen. 
You may have one fund raiser each week, but it 
will cost you $50,000 to organize and conduct. 
How much money you make (or lose!) will de- 
pend on the past success of your campaign. The 
results of any fund raiser will be announced af- 
ter the primaries for the week are over. 

If you want a fund raiser, enter a Y and press 
the RETURN key. You will go back to the re- 
source menu. Any other response will be inter- 
preted as a "no" answer, and the resource menu 
will be displayed. 

G - GOTO WEEKLY REPORT Pressing G 
from the resource menu will display the weekly 
report screen. Use this command when you have 
finished all of your resource allocations. 

Ending the week's orders. 

After you've made all your resource allocations and 
reviewed the regional reports to make sure everything 
is the way you want it, you're ready to end the cur- 
rent week's play. You do this by pressing number 9 
from either the weekly report or one of the regional 
reports. Screen number 11 will display. 

This screen gives you another chance to return to 
your resources and make additional changes. If you 
are certain that every detail is as you want it, enter 
Y and press RETURN. You are now committed to us- 
ing your resources as planned. Any response except Y 
will return you to the current weekly report. 

The voting. 
Once you have ended the week's orders. Dark Horse 
will display several screens that give you important 
information, while the program tabulates the results 
of the voting. 

First, you'll see the ballot screen. This represents 
the voting that takes place. Next, you will be given 
a "News Watch." This will include any endorsements 
you receive and the major headline of the week. After 
this, the results of your fund raiser will be displayed. 
The figure shown is your net gain (or loss) after de- 
ducting the $50,000 cost of the fund raiser. Finally, 
the weekly report for the new week will appear. If you 



have won or lost at this point, the final spending 
screen will be displayed. 

Strategy. 

While winning delegates is your main objective, you 
cannot hope to win without improving your stand- 
ing in the national poll. This suggests that you should 
not neglect those regions with small numbers of dele- 
gates during a particular week, since the poll is inde- 
pendent of the primaries themselves. 

You can spend a lot of money on mass media ad- 
vertising in each region. Doing so will increase your 
poll percentage more quickly than any other resource 
can. The problem is the expense, which will rapidly 
deplete your fund and make it difficult to last the full 
nine weeks. If you use this strategy, you must try to 
win fast. 

Local, "grass roots" campaigning is represented by 
the canvas/mass mailing resource. While it is expen- 
sive when used in all six regions ($1.2 million per 
week), it is a very effective way to maintain and gradu- 
ally increase your national poll standing. If you have 
to make a choice between this and another resource, 
lean toward the grass roots campaign. 

A debate can be very beneficial to your campaign 
when your poll percentage is low, but your chances 
of getting the debate are less. When your poll stand- 
ing is high, you can easily obtain a debate. . .but it 
could hurt your campaign. Seek a debate when you 
have moved up in the polls for two or three weeks, 
but not when your percentage is much higher than 
the Senator's. 

Remember, you can try to get a debate more than 
once each week, but it will cost you $100,000 each 
time you try. Think of this as you're doubling or tripl- 
ing your efforts to get a debate. 

That's it. 

Win or lose, when the simulation is through, you'll 
be shown how your funds were spent. If you lost, ex- 
amine your spending pattern and make adjustments 
for the next "big race." Good luck! D 



BASIC listing. 

lee DIM 5$C21,L$C37),PER5AP$(i9),R$Cl) 

, 1$ C38) , A$ C57) , C$ C57} , RGS CIS) 

185 DIM 5TC50} ,CDC6},MDC6),MAC6),PA(6) 

118 DIM M5C6) ;LS=" m(MMM>mKKMKKKKKMi<KKK 

MKMKMMKKKMKKICKKICM " ; DIM RN Cei 

111 N8=8 : Nl=:l : N2=2 : N4=4 : N6=6 : N588=5e8 : 
N528=528 : N558=:558 : N6ee=688 : N2888=28e8 : 
N7e88=7e88 

112 N388=38e : N18165=18165 : N3=3 : N18=18 : 
N9388=93ee 

113 115=5 : N3188=3188 : Nie8=188 : N7188=718 
8 

114 117=7 :M8=8 

121 PER5AP$="PERSeHAL APPEARANCE" 

131 F8R X=N1 T8 Mb :CD CX)=N8 :MD (K)=N8 :M 

ACM)=Ne:PAfK)=N8 

135 MSt}<)=N8:NEKT H 

137 TC=36:DD=17 

148 im=Nl:G0T8 18888 

158 RESTSRE 475:G8T0 N388 



PAGE 70 



ANALOG COMPUTING 



ISSUE 23 



151 RESTORE 47e:G05UB N3ee:P0KE 752, Nl 

: RETURN 

i52 RESTORE 477: GOTO NSOO 

153 SOUND N0,N10e,N18,Nie:F0R X=N1 TO 

2e:NEXT X:SOUND Ne,Ne,N8,N0:RETURN 

380 OATA 5,243,5,243,5,217,5,193,5,243 
,5,193,0,217,2,0,5,243,5,243,5,217,5,1 
93,18,243,10,255 

381 PftTA 5,243,5,243,5,217,5,193,5,182 
,5,193,5,217,5,243,5,255,5,162,5,182,5 
,217,10,243,10,243,255 

382 READ D:IF D=255 THEN RESTORE N308: 
RETURN 

384 READ Y:SOUND N8, Y,Nie,N10 : FOR P=NO 
TO D»DD:NEKT P:SOUND NO, NO, NO, NO :GOTO 
N308 

411 DATA 4,243,4,243,4,217,4,193,4,243 
,4,193,6,217,2,0,255 

412 DATA 12,193,6,204,6,193,2,184,2,8, 
6,184,4,193,12,184,255 

413 DATA 4,121,4,121,4,121,4,162,4,144 
,4,144,8,162,4,96,4,96,4,188,4,108,8,1 
21,255 

414 DATA 6,243,6,217,8,193,8,193,8,243 
,6,217,6,193,6,182,6,193,6,182,6,144,8 
,162,255 

415 DATA 4,121,4,144,6,182,6,182,3,182 
,3,162,3,144,3,136,6,121,6,121,6,121,8 
,144,255 

416 DATA 6,243,4,193,12,162,12,162,6,1 
82,6,193,16,217,255 

458 DATA 6,121,2,121,6,188,2,188,4,96, 
2,81,2,96,4,121,2,0,2,81,6,121,2,121,6 
,108,2,108,8,96,8,121 

451 DATA 2,8,6,121,2,121,6,188,2,188,4 
,96,2,81,2,96,4,121,24,0,255 

452 DATA 2,72,8,0,4,108,2,91,8,96,8,12 
1,255 

475 DATA 8,121,8,121,4,136,4,144,8,144 
,4,153,4,144,12,144,255 

476 DATA 4,284,4,284,4,284,12,243,255 

477 DATA 4,121,4,162,4,193,4,243,255 

478 DATA 4,243,4,193,4,162,4,121,255 
500 FOR HAIT=N1 TO Neoe:NEXT WAITsRETU 
RN 

520 ? ttN6;"pnES: S";CF:RETURN 

550 FOR H^HTTirB 

553 READ S5,DELG,MEEK 

555 IF HEEK=HM THEN RN(C)=:N1 

557 NEXT X 

558 RETURN 

560 TH=INT CRND (NOJ^NIOO+Nl): RETURN 

680 POSITION N2,2e:? lI:? "Q-NO.ATLAN. 

Q-MAS/DIX B-RESOURCES" 

605 ? -g-INDUS BLT i-SUNBELT 0-MEEK R 

EPORT" 

618 ? "S-FARM BELT H-CASCADES 0-END OR 

DERS"; 

625 TRAP N6e0:P0KE 764,255:0PEN 111,4,0 
III/ • It ' ' 

626 'if peek C764) =255 THEN 626 

627 GET ttl,IRR:R=IRR-48: CLOSE UNI: IF R 
<N7 THEN GOSUB 70e«R 

628 IF R=N7 THEN RESTORE 478: GOSUB N30 


630 ON R GOTO 1018,1828,1030,1040,1858 

, 1068, N7000 , 8888, 9008 

781 RGS^-'l- iiMAIMhAllinnia " : PFTURM 

:RETURN 

TRETURN 
1": RETURN 
: RETURN 
I RETURN 

1010 B=N6 : C=NO : SC=Ne : SC1=15 : GOTO N208e 
1820 B=N4:C=N7:SC=NO:SC1=N2:GOTO N2e8e 
1830 B=N8;C=12:SC=14:SC1=N2:G0T0 N2e88 
1040 B=N8:C=21:SC=N2:SC1=N2:G0T0 N20e0 
1050 B=9:C=30:SC=N2:SC1=15:G0T0 N2Q08 
1868 B=N10:C=40:SC=N8:SC1=N2:G0T0 N28e 
8 

2888 GRAPHICS N1:SETC0L0R N4,SC,SC1:SE 
TCOLOR N2,SC,SC1:P0S1TI0H N3,N0:? ttN6; 

2001 RESTORE 4ie+R: GOSUB N308 

2002 ? nNe;"HEEK NUMBER: ";HM 
2005 RESTORE 3000+ CR^NlOOl 
2007 U=N4 



702 RGS="2- 
783 RGS=:"3-! 

704 RG$="4 

705 RGS="5 
786 RGS="6 



north atlantic 
industry belta 
far« belt 
rtason di_x 
sunbelt 
cascades 



2888 ? ltN6 ; " jHB IMMMMKlClCKKmCKKmt * " 

2810 FOR X=NO TO B : READ 55 iDELG, WEEK 
2013 POSITION N1,V:? UNO; si: POSITION N 
7,U:? ttN6;DELG: POSITION 13, V:? ttN6;NEE 

2814 IF STCX*CJ=N1 THEN POSITION 16, V: 
? ttNe;"HON" 

2815 IF STCX+C3=N2 THEN POSITION 16, U: 
? «N6;"L0ST" 

2017 V=g+Hl 
2818 NEXT X 

2823 ? UNO;" " 

2025 ? ttN6;" {Zl!iaSi:";CDfR):? ttN6; 

2032 ? ttN6j^telSEraCEHl:5",MACRJ 
2035 IF PA(R)=N1 THEN ? ttN6;PERSAP$ 
2045 GOTO N600 

2900 REM 

2901 GRAPHICS NO: POKE 752,N1:SETC0LDR 
N2,Ne,N8:P=N8 

2918 X=INT C28«RND CNl) +N5) : Y=INT C12«RND 

CN1}+N5) 

2928 POSITION X,V:? "i i"; POSIT 

ION X,V+Nl:? "f BALLOT H":POSITION X,Y 

+N2:? "I I" 

2930 POSITION X,Y+N3:? " [ |":P0 

SITION X,Y+N4:? "|<SENAT0R ^■■:POSITION 

X,Y+N5:? "hPLAVER H" 

2940 POSITION X,V+N6:? " « ' ";P= 

P+N1:IF P=20 THEN RETURN 

2944 IF X<N10 OR X>20 THEN POSITION X+ 

N8,Y+N4:? "X":GOTO 2910 

2946 POSITION X+N8,Y+N5:? "X":GOTO 291 



3180 DATA NH,13,l,HI,12,2,ME,12,5,gT,l 

1, 6, MA, 42, 8, NY, 129, 8, CT, 24, 9 

3280 DATA IN, 39, 2, PA, 87, 5, NJ, 51, 8, OH, 7 

8, 9, MI, 63, 9 

3300 DATA ND, 12,2, M0,36,2,MI, 36, 2,SD, 1 

2,5,I0,27,6,IL,78,7,KS,21,7,MN,38,8,NB 

,15,9 

3400 DATA NC,39,4,KY,27,4,DE,10,5,UA,3 
6, 6, HV, 21, 6, DC, 11, 6 

3401 DATA TN,33,7,MD,30,7,SC,24,9 
3500 DATA FL,42,2, AZ, 15, 3, GA, 36,4,LA, 3 
e,4,MS,21,4,TX,75,5,0K,24,5,AL,30,6,AR 
,18,8,NM,12,8 

3688 DATA CA, 128, 3, MA, 27, 3, OR, 18,3, HM, 

12,4,HY,10,5,MT,12,6,UT,12,8 

3681 DATA NV,11,8,C0,18,9,ID,12,9, AK,1 

0,9 

5008 TN=Ne:TL=NO: RESTORE N3100:F0R X=N 
TO 50:READ S$,DELG,HEEK 

5002 IF STtXJ=Hl THEN TN=TN+DELG 
5884 IF STCX>=H2 THEN TL=TL+DELG 
5886 NEXT X 

5009 IF TN>812 THEN 8888 

5010 IF TL>812 OR YD<N5 OR CF<N1 THEN 
8988 

5848 GOTO 8883 

7000 GRAPHICS N1:SETC0L0R N4,14,N2:SET 

COLOR N2,14,N2:? UNO;" resource optio 

ns " 

7002 GOSUB 152 

7005 ? ttN6;" MEEK NUMBER: ";HM:? UNB 



7825 GOSUB N520 
7028 ? ttH6;" "" 

ttN6;" 

ttN6;" bM 



7030 
7031 



llot coordinators 
adyertisin' 



UNO;" 



7032 
7833 
7035 
7036 
7037 
7040 



ttN6;" 
ttN6;" 
ttN6;" 
ttN6;" 
ttNe;" 



anvas/nass wailin 

ebate 

lection appearance 

und raiseri 

oto weekly report 



YOUR CHOICE?"; 



7842 TRAP N7888:P0KE 764, 255: OPEN «N1, 
N4 N8 "K:" 

7044 IF PEEK €764) =255 THEN 7044 
7846 GET ttNl,IRR :R=IRR-64 : CLOSE ttNl:IF 
R<H1 OR R>H7 THEN 7042 

7047 IF R=N7 THEN GOSUB 158: GOTO 7050 

7048 GRAPHICS 17: RESTORE 478: GOSUB N30 




ISSUE 23 



ANALOG COMPUTING 



PAGE 71 



7656 ON R GOTO 7266, N7180, 7666, 7380, 78 
66,7566,8666 

7186 GRAPHICS NlzSETCOLOR N4.Ne,N6:SET 
COLOR N2,N6,Ne:? ttN6; "current nedia st 
atus" 

7165 GOSUB NS26:? ttM6;" ■':? ltH6;" CHCI 
B3!C!: 5166666 " 

7186 ? ttM6 ! "faH- mn budget" 

7187 F6R K=N1 TO Ne 

7168 IF NDCX)>N6 THEN GOSUB 7eei^X:? ItN 
6;RG$:? »N6;" S";MD(X) 

7189 NEXT X 

7116 ? :? " ENTER REGION NUMBER CD-0 
jii . i-j ■-■ 

7113 INPUT X 

7114 IF X<N1 OR X>N6 THEN GOTO N7686 

7115 ? " MEDIfli BUDGET FOR REGION"; 
! INPUT R 

7117 IF R>9886680 THEN ? "OUER 59 MILL 
ION": GOSUB N5e6:G0T0 N7168 

7118 IF R<166668 AND R>N6 THEN GOTO N7 
166 

7128 MD tX J =MD CXJ +R : CF=CF-H : FD=FD*R 

7125 GOTO N7ie6 

7266 GRAPHICS N1:SETC0L0R N4,N8,N2:SET 

COLOR N2,N8,N2:? ttN6;" coordinator sta 

tus " 

7281 GOSUB N528:? ttN6;" ":? ttN6;"A COO 

RD COSTS 575 68 " 

7265 ? ltN6 ! "la ntail C60RDS" 

7218 FOR X=N1 TO N6: GOSUB 7ee+X:P0SITI 

ON Ne,N5«X:? ttN6;RG5 

7212 IF CDCXXN16 THEN POSITION 16,N54 

X:? ItNB;" 

7214 POSITION 17,N5+X:? ttN6;CDCX) :NEXT 
X 

7215 POSITION 17,13:? «N6;" " 

7216 POSITION NO, 13:? ttN6;"T0T COORDS 
AVAIL:";TC 

7217 POSITION N16,17:? ttN6;" 

7218 POSITION NO, 16:? ttN6; "CURRENT COO 
RD COST ";;? ttN6;"5";CC:? tt 
N6 ' " " 

7225 ? :? "ENTER REGION TO BE CHANGED 
CD-0)"; : INPUT X 

7227 ? " HON MANY COORDS IN REGI 
ON";: INPUT R:? CHR5C125} 

7230 CDCX)=R:TP=N8:F0R X=N1 TO N6:TP=T 
P'i'CDCX) : NEXT X 

7231 TC^36-TP:IF TC<N8 THEN FOR X=N1 T 
N6:CD(X)=N6:NEXT X : TC=36 : CC=N6 : GOTO 
7218 

7232 CC=TP«7508 
7235 GOTO 7216 

7388 GRAPHICS N1:SETC0L8R N4,N4,N2:SET 
COLOR N2,N4,N2:? ttN6;" debate Status 

II 

7383 ? ttN6:" ": GOSUB N528 

7385 IF DB>N8 THEN POSITION N1,N8:? ttN 

6;" debate scheduled":GOSUB N508:G0T0 

N7e8e 
7318 POSITION N3,N6:? ttN6;"SEEKING DEB 
ATE":POSITION N3,N7:? tlN6;"C0STS 51088 
86" 

7315 POSITION N3,9:? ttN6;"GETTING DEBA 
TE":POSITION N3,Nie:? ttN6;"C0STS 53566 
88" 

7328 ? :? " ENTER EJES TO SEEK DEBAT 

E"; 

7325 INPUT R5 

7338 IF RS<>"Y" THEN GOTO N7888 
7335 GOSUB 568: IF YD-N16>TH THEN DB=:N1 
:CF=CF-168ee0:G0T0 N7888 

7348 CF=CF-188e00:FB=FB+ie8886:G0T0 N7 
688 

7588 GRAPHICS N1:SETC0L0R N4,12,N2:SET 
COLOR N2,12,N2:? ttN6;"fund raising Sta 
tus ":? ttN6;" " 
7585 GOSUB H528:? ttN6;" " 
7518 IF Q=N1 THEN GOTO 7550 

7515 POSITION H1,N8:? ttN6;"A FUNDRAISE 
R MILL": POSITION N3,9:? «N6;"C0ST: 558 
668 

7516 ? :? " ENTER HES TO RAISE FUND 
S"; 

7528 INPUT R5:IF R5<>"Y" THEN GOTO N78 
88 



7525 IF R5="Y" THEN Q=N1:CF=CF-58686:G 

OTO N7888 

7558 POSITION N2,N8:? ttN6;"already sch 

eduled" 

7568 G6SUB N586:G0T0 N7868 

7688 GRAPHICS N1:SETC0L0R N4,N2,N2:SET 

COLOR N2,N2,N2:? ttN6;"canuassing/Mass 

Mail" 

7605 GOSUB N52e:P=Ne:? ttN6;" " 

7606 ? ttNB;" CANVAS/HAIL COSTS 52668 
68 PER REGION " 

7618 FOR X=N1 TO N6 : P=P+HS (X} : NEXT X:I 
F P=N6 THEN 7698 

7615 ? ttN6;"[a3iS!l3 AMeUNT" 

7619 ? ttN6; FeR H=N1 TO NB 

7628 IF MACX}>Ne THEN G8SUB 788HhX:? ttN 

6;RG5:? ttN6;" 5";MACX) 

7621 NEXT X 

7636 ? " ENTER REGION NUMBER CQ-0>"; 

: INPUT X 

7646 IF X<N1 OR X>N6 THEN GOTO N78ee 

7658 MA CX) =266888: MS (X)=N1 

7665 CF=CF-MACX) :FM=:FMHhMA(X} :G6T6 7688 

7698 ? ttN6;"all regions covered" :G6SUB 

N5ee:G0T0 N7888 
7888 GRAPHICS N1:SETC0L0R N4,N6,N2:SET 
COLOR N2,N6,N2:? ttN6; "personal appeara 
nee ":? ttN6;" " 

7885 GOSUB N526:P=N8:? ttN6;" " 
7818 FOR X=N1 TO NO :P=P+PA CX) :NEXT X:I 
F P>=N1 THEN 7855 

7815 POSITION N8,N8:? ttN6;" ";PERSAP5; 
" HILL COST 5200886" 

7817 ? " ENTER REGION NUMBER Cfl-0J" 
• • INPUT X 

7826 IF X<N1 OR X>N6 THEN GOTO N7e88 
7838 PA CXJ =N1 : CF=CF-2e68e8 : FP=FP+268e8 
8: GOTO N7888 

7855 POSITION N8,N8:? ttN6;PERSAP5;" A 
LREADY SCHEDULED ":G8SUB N588:G0T0 N78 
68 

8866 GRAPHICS N1:SETC0L8R N2,N8,N6:G0T 
5868 

8683 ? ttN6;" weekly report tt";HM 
8884 ? ttNB;" ": GOSUB N528 
888^ ? ttN6; RESTORE N3188:? ttN6;'^ 



manes this week 



6866 FOR X=NO TO 58: READ S5,DELG,HEEK 
6687 IF MEEK=MM THEN ? ttN6;S5;" "; 

8688 NEXT X 

8818 POSITION N5,N8;? ttN6;"BgiaEin; ' 



;TN:? ttN6;" 
8812 ? ttN6;"| 
8825 ? ttN6;" 
8636 ? ttN6;" 
8835 ? ttN6;" 
8648 ? ttN6;" 



delg lost^ 
needed to win 
oils 



';TL 

813 



PLAYEI 

SENATOR 

UNDECIDED 



";PS 
";SM 

";UNDC:? ttH6;" 



8128 
8138 
8148 
8145 
8158 
8162 



unspent 
raised 



pers 

debate 

total del 



3";CF 

3";FF 



;fd 

";FM 

;fp 



final spend 



H- 



8658 IF DB=N1 THEN ? ttN6; "debate this 

week" 

8868 GOTO N6e8 

8188 GRAPHICS 18:? ttN6;" 

ing' 

8183 ? ttN6;"n 

8185 ? ttN6;"C _ . 

8118 POSITION N6,N6:? UH6;"3SEB3S 

" ttN6;"n 

ttN6;"r 
ttN6;"G 

ttN6 ; "B 

ttN6;"CliEmEB39uZa30 ";tn 

^ -9e88:G0T0 11558 

8888 A5C28,57]="hurrah! ! you have a fi 

rst ballot win!":GOTO 8166 

8968 A5(28,57}="the senator has enough 

votes to win!":GOTO 8188 
9888 GRAPHICS N2:SETC0L0R N2 ,N4,N2;SE T 
COLOR N4,N4,N2:? ttN6;" lOZIXBSCSi! 

■ I 

9815 POSITION N6,N4:? ttN6;"are you":? 

ttN6;" ready for priwary" 

9826 ? " ENTER QES TO GO TO THE 

PRIMARIES THIS HEEK";:GO 
SUB 151 
9825 INPUT R5 
9838 TRAP 48668 



PAGE 72 



ANALOG COMPUTING 



ISSUE 23 



9635 IF R$<>"Y" THEN 8680 

9040 IF a=Ne THEN AI>DFUND=50eee 

9045 IF a=Nl THEN AI>DFUND=INT CYD«RNDCN 
l)«Nl)«10e8e 

9046 G05UB 11006 :CF=CF+ADDFUND-58eeO:F 
F=FF+ADDFUND-500eO : ADDFUND^NO 

9166 FOR X=N1 TO N6 

9165 IF MDCKKNl THEN YD=YD-N2:G0T0 91 

15 

9107 IF MI>CX)<20e000 THEN 9115 

9116 P= (MD CX) /5660ee) : YD=YD+INT CP/N2) + 

Nl 

9115 NEXT X 

9140 IF DB=N2 THEN CF=CF-2ee80e:FB=FB+ 

200600 : YD=YDHhNS : DB=N3 

9300 REM 

9305 P=Ne:F0R X=N1 TO N6:P=P+PACX} :NEX 

T X 

9316 IF P=N1 THEN YI>=YDHHN2 

9556 RESTORE N3160:B=N7 :C=N1 :G05UB N55 



9555 RESTORE N3100+N100:B=N4:C=N2 :G05U 

B N550 

9560 RESTORE 3300 : 0=9 : C=N3 :G0SUB N550 

9565 RESTORE N310e«N3eO :B=N10: C=N4 :G05 

UB N550 

9570 RESTORE 3500:B=N10:C=N5:G0SUB N55 



9575 RESTORE N3ieO+N500:B=ll:C=N6 :GOSU 

B N550 

9580 CF=CF-CC:FC=FC+CC 

9686 FOR X=N1 TO N6 

9665 IF RNCX)=N1 ANi> CDCX)>=Ne THEN YD 
=YD+N1 

9687 IF RNCX)=N1 AND CDCX)>9 THEN YD=Y 
D+H2 

9610 IF RNtX)=Nl AND CD CXXNl THEN YD= 
YD-Nl 

9615 IF RNCX)=N1 AND MS(X)=N1 THEN YD= 
YD+Nl 

9626 IF RNCX)=NO AND MSCX)=N1 THEN YD= 
VD+Nl 

9625 IF RNCXJ=N1 AND MS(X}=NO THEN YD= 
YD-N2 

9630 IF RN{X)=NO AND MSCX)=:NO THEN YD= 
YD-Nl 

9665 NEXT X 

9775 RESTORE N3100:F0R X=NO TO 50 
9780 GOSUB 568 
9785 READ S$,DELG,HEEK 
9788 IF YD>75 THEN VD=75 
9796 IF HEEK=HM AND YD>=TW THEN STCXJ= 
N1:G6T0 9886 

9795 IF HEEK=MN THEN STCX)=N2 
9800 NEXT X 

9810 IF ST(N0)=N1 AND HM=N1 THEN YD=YD 
*N5 

9820 MH=HH+N1 
9825 FOR X=N1 TO N6 

9830 HD CX) =:N0 : HA CX) =N0 : PA CX) =N0 : HS CX) = 
NO 

9835 NEXT X 

9858 SM=:INT CN5«RND CNl) -N2) +46 : PS=INT CY 
D/N2) +N16 : UNDC=Nie6-PS-SM 
9855 GOTO 8000 

10000 GRAPHICS 18:SETC0L0R N4,N0,N16 
16628 FOR Y=NO TO NIO STEP N1:F0R X=NO 
TO 19 STEP N2: POSITION X,Y:? ttN6;"D"J 
:NEXT H:FOR X=19 TO NO STEP -H2 
16625 POSITION X,Y:? ttN6; "Q-'sNEXT X:NE 

XT Y 

16636 POSITION N0,N5:? ttN6;" HEnCS 

QESSil "rPOSITION N8,N10:? ttN6;"Vl. 

6": GOSUB H300 

10060 GOTO 12000 

10185 YD=INTCN6»RNDCN1)+14) 

16187 PS=YD 

16266 FC=N6 : FD=N6 : FN=NO : FP=NO : FF=NO : FB 

=N0 

10766 SH=46 

10702 UNDC=N100-YD-SH 

10705 GOSUB 150: GOTO 8660 

11000 GRAPHICS 18:SETC0L0R N2,N6,N2:G0 

SUB 2986: RESTORE N300: GOSUB NSOO 

11027 Q=NO 

11029 A«CN1,19)=" " 

11030 GRAPHICS 18 



11031 ? ttN6;" LJitJ[!lJM!l=WaB3 " ; GOSUB 5 
60: IF YD<TH THEN 11400 

11032 CHA=CHA+Nl:IF CHA>N5 THEN 11406 
11635 RESTORE 11200+CHA 

11046 C=N6:YD=YD+N2 

11648 A$C26,33)="END6RSEHENT: " 

11650 READ IS 

11055 A$C34,57)=I$ 

11060 POSITION N1.N4:? ttNe; A$CN1,19) :C 

$-H$ CN2) : C5 CLEN CCS) +N1) =AS : A$=C$ 

11661 G6SUB 153 

11862 C=C+N1 

11070 IF C=57 THEN A$=" ■':GOTO 11400 

11075 GOTO 11066 

11261 DATA SAUE THE NOON SOCIETY .NO 

11202 DATA CARHASH OHNERS ASSOC ,N0 

11203 DATA PRISONERS RIGHTS COMM ,N0 

11204 DATA HIGHTECH HORKERS UNION^NO 

11205 DATA VIGILANTE BROTHERHOOD, NO 
11400 RESTORE 11666 

11560 FOR X=NO TO EVENT: READ I$:NEXT X 
11510 EVENT=EVENT+N1 
11520 A$C20,57)=IS 
11530 C=NO 

11556 POSITION N1.N4:? ttN6; A$CN1,19) :C 
$=A$ CN2) : C$ CLEN CC?) +N1) =A$ : A5=CS 
11558 G6SUB 153 
11560 C=C+N1 

11565 IF C=57 THEN 11586 
11568 IF C=-N1 THEN END 
11576 GOTO 11550 
11580 IF DBONl THEN 11590 
11585 DB=N2:A5C20,57)="priMary debate 
was held last week ■■;GOTO 11530 
11590P0SITI0N Nl,N3:? ttN6;"0niEHBE33 
■aiBSSS" : RESTORE 450: GOSUB N30e:P0SI 
TION N6,N6:? ttNe;"g"; ADDFUND-56666 
11595 RESTORE 452: GOSUB N300:A$=" ■■:RE 
TURN 

11600 DATA SOVIETS DENY THEIR NOONBASE 
IS ARHED, CAMPAIGN AIDE IS CITED IN BR 
IBE SCAM 

11681 DATA FOOD RIOTS ROCK GREAT BRITA 
IN 

11602 DATA TITAN SPACE PROBE FINDS LIF 
E FORMS, EIGHTY INJURED IN NEH YORK HAT 
ER RIOT 

11663 DATA SINO-FRENCH FOOD TREATY SIG 
NED TODAY, JURY GIVES YOUTH DEATH IN N. 
H. TRIAL 

11604 DATA JAPAN ADMITS TO LUNAR MISSI 
LE BASE 

11685 DATA NUKE HEAP6NS BANNED FROH HA 
RS BASE 

12000 GRAPHICS 18:SETC0L0R N4,N0,N0 
12005 FOR X=NO TO 50:ST CX)=NO :NEXT X 
12010 POSITION N2,Ne:? ttN6;"CCPYRIGHT 
1983 BY" 

12615 POSITION N3,N1:? ttN6;"[! 
AND" : POSITION N3,N2:? ttN6;' 

12025 POSITION NO, NIO:? ttN6;"PRESS JSE 

ED TO BEGIN" 

12030 POSITION N2,N5:? ttN6;"PRESS HiTWai 

[H FOR": POSITION N5,N6:? ttN6; "SKILL LE 

VEL" 

12635 POSITION N5,N7:? ttN6;" beginner" 

: 6P=N1 : CF=2e660000 

12037 FOR HAITrHl TO 50 : NEXT HAIT 

12048 5EL=PEEKC53279) :IF SEL=N7 THEN 1 

2640 

12042 IF SEL=N6 THEN GRAPHICS 18: GOTO 

10185 

12045 IF SEL<N5 THEN GOTO 12037 

12047 IF SEL=N5 AND OP=NO THEN POSITIO 

N N5,N7:? ttN6;" beginner":0P=Nl:CF=20e 

00008: GOTO 12037 

12050 IF SEL=N5 AND 0P=N1 THEN POSITIO 

N N5,N7:? <tN6;"interMediate":6P=N2:CF= 

17606660: GOTO 12037 

12055 IF SEL=N5 AND 0P=N2 THEN POSITIO 

N N5,N7:? UNO;" expert ":op=no:CF= 

14000000: GOTO 12037 



ken ahidon 
^wayne und 



ISSUE 23 



ANALOG COMPUTING 



PAGE 73 



CHECKSUM DATA. 

(see page 25) 

190 DATA 267,97,603,753,594,484,957,66 

6,252,991,40,639,669,350,673,8035 

i^i.S'^IS 658,415,13,971,401,313,378,64 

7,819,698,53,91,924,832,634,7847 

*l^J^l^ 258,20,21,459,634,231,889,962 

,788,612,586,407,735,609,367,7578 

626 DATA 553,724,156,283,15,460,663,61 

7,840,341,813,917,803,855,682,8722 

i^^LS'^JS 37,654,727,585,161,302,982,6 

94,649,60,462,340,466,548,442,7109 

2025 DATA 964,479,239,805,304,482,851, 

76,277,257,948,18,530,913,141,7284 

3400 DATA 622,934,985,634,694,141,37,3 

9,549,954,335,738,967,749,838,9216 

7025 DATA 989,462,821,993,350,856,401, 

72,413,22,708,881,889,986,109,8952 

2S^S«S'*P 481» 479, 93, 766, 637, 717, 562, 3 

03,720,645,29,961,848,494,22,7677 

7200 DATA 489,204,585,467,963,466,538, 

230,225,360,20,498,180,66,924,6215 

7235 DAtA 749, 873,150,465; 61, ^8,287,95 

2,30,828,841,476,172,492,488,6962 

7516 DATA 308,181,678,889,291,543,612, 

461, 953, 820, 477, 706, 563, 489, 667, 8638 

7650 DATA 94,600,172,741,618,264,906,1 

74,671,975,10,503,925,145,810,7608 

8006 DATA 971,326,559,521,974,155,136, 

444,835,340,809,201,590,117,71,7049 

8120 DATA 872,723,604,276,628,726,9,88 

9,148,993,636,947,890,242,184,8767 

9845 DATA 304,584,627,244,487,979,559, 

10,300,333,423,96,655,19,721,6341 

9570 DATA 974,630,14,642,542,277,452,5 

22,511,528,515,579,334,778,204,7502 



9788 DATA 82,331,885,569,265,959,660,9 
73,582,133,772,904,299,795,439,8648 
10060 DATA 193,480,607,299,430,883,461 
,508,574,472,309,663,737,892,643,8151 
11048 DATA 807,853,169,463,60,646,275, 
217,884,791,43,976,998,662,152,7996 
11510 DATA 880,139,532,466,84,645,966, 
167,221,278,565,933,689,353,783,7701 
11602 DATA 69,252,244,179,704,797,105, 
791,553,15,453,528,280,898,263,6131 
12047 DATA 119,856,971,1946 




INTRODUCING 



the NEW 

flSTRfl2001 

Double Density Double Disc Drive 

H More Reliable 
H Quieter Operation 
n Faster Read Write 
D More Capacity (360 K 

3ytes) 
D Easier Data Read 

ALL THIS WRAPPED UP 
IN ONE AHRACTIVE UNIT 




7>flSTRn SVST6MS ,nc 

2500 S. FAIRVIEW, UNIT L SANTA ANA, CA 92704 

Call {21 3) 804-1 475 for your nearest dealer. 



CIRCLE #130 ON READER SERVICE CARD 




Put a 3^20,000,000 Thrill in 
your Computer!!! 




The F-15 STRIKE EAGLE, one of the world's most sophisti- 
cated fighters, costs the Air Force more than $20,000,000.00 
each. Now you too can strap into your ejection seat and 
prove how good you really are in exciting modern jet fighter 
combat. Fly combat missions, engage enemy aircraft, and 
destroy enemy ground targets from historic missions over 
Southeast Asia to today's defense of the strategic oil routes 
through the Straits of Hormuz. 

F-15 STRIKE EAGLE (simulator) has all the features that 
makes the real EAGLE the great fighter aircraft it is — 
afterburners, multiple radars, air to air missiles, high 
explosive bombs, cannon, drop tanks, Electronic Counter 
Measures (ECM) flares, electronic ground tracking 
maps. Heads Up Display (HUD), outstanding 3-dimen- 
sional cockpit visibility, and realistic F-15 maneu- 
verability. Your mission is to take off from your base, 
fly to and destroy your primary target through all the 
dangers of enemy territory including Surface to Air 
Missiles and enemy aircraft. Of course, you have to 
get back home again, tool! 
F-15 STRIKE EAGLE is a very real simulation, accom- 



plished with the guidance of real fighter pilots, and includes 
seven different combat missions, four skill levels, and an 
infinite number of exciting scenarios. F-15 will thrill and chal- 
lenge you and give you the chance to prove you have the 
"Right Stuff" of an EAGLE fighter pilot!! 

F-15 STRIKE EAGLE is available for Commodore 64, ATARI 
(48K), and Apple II (64K) computers. Suggested retail price 
is only 334.95. Find STRIKE EAGLE at your local retailer, or 
call or write for MC/VISA, or COD orders. Add $2.50 for 
Postage and Handling (Int'l add S4.00USD). MD residents 
add 5% sales tax. 

Experience Che reality of 

these other great simulations 

from MicroProse 



MicroProse Software 

The Action is Simulated — the Excitement is REAL!! 



1 0BI B Beaver Dam Road 
Hunt Valley, MD 21030 

[301] BB7-1151 




As close to the Real 


Heart Pounding 


Sensational Assault 


Thrill of Flying as You 


Accelerated Real- 


Chopper Rescue 


Can Handle!!! 


Time Defense of 


Raids for Daring 




Europe Against 


Pilots!!! 




Soviet Invasion!!! 





Commodore 64. ATARI, APPLE, and IBM are registered trademarks of Commodore Business Macliines Inc., ATARI Inc., APPLE Computer Inc., and International Business Machines Inc., respectively. 

CIRCLE #131 ON READER SERVICE CARD 



ISSUE 23 



ANALOG COMPUTING 



PAGE 75 



TOP-DOS 

ECLIPSE SOFTWARE 
1058 Marigold Court 
Sunnyvale, CA 94086 
(408) 246-8325 
32K Disk $49.95 



by Charles Bachand 



I am usually not a fan of menu-driven DOSs. They 
always seemed too slow and restrictive. It was also dif- 
ficult to customize them to your own tastes and prefer- 
ences. And, since they almost always came as two or 
more files on a disk, whenever you needed to perform 
something as trivial as getting a disk directory, you 
were forced to sit and wait while a DUP.SYS file was 
loaded into memory. You were also forced to associate 
a letter with a DOS function that sometimes didn't 
even contain the letter! For example, does the letter 
A have anything to do with getting a disk directory? 
Or, why should typing a B run the cartridge? 1 won't 
even go into locking and unlocking files; it's just too 
strange. Because of all this, one of my two favorite 
Disk Operating Systems happens to be DOS-XL by 
OSS, a command-driven DOS. But this review is not 
about that. 

It is about TOP-DOS by Eclipse Software, a menu- 
driven DOS. By now you might be thinking, "Oh 
boy, he's going to tear into this DOS and give it a 
really bad review!" Well, 1 hate to disappoint you, but 
TOP-DOS is greatl It happens to be that other DOS 
that 1 like so very, very mu^li. 

How well DOS it work? 

TOP-DOS uses the same menu structure as Atari's 
DOS II, and if you don't use any of the extra com- 
mands or features that are incorporated in it, TOP- 
DOS will act just like DOS II. This is far from a 
drawback. In fact, it is just one of the program's major 
attributes: compatibility. If it will work with DOS II, 
it will work with TOP-DOS. 

Another attribute of TOP-DOS is its flexibility. 
A good example to demonstrate this is the procedure 
used to list a disk directory. I've picked this as an ex- 
ample because it usually generates the most screen 
output. Flexibility in TOP-DOS is the rule and not 
the exception. 

Directory options in DOS II are limited to a source 
and destination combination. The fanciest you could 
get here is to perform something like listing onto the 
printer all of the filenames from D2: that started with 
the letters ANALOG. With TOP-DOS, it's a whole 
new ball game! You can specify things like the num- 
ber of columns (up to six) the filenames will produce 
across a page and/or list the files that have been de- 
leted (they remain in the directory until replaced by 
a new filename). Also, if you are using the special 
TOP-DOS format (an option when formatting), TOP- 



DOS handles the file number byte differently— which 
also produces a slight incompatibility if the files are 
ever accessed with DOS II, although you might throw 
your DOS II disk out after having used TOP-DOS 
for a while. This alternate handling allows you to al- 
phabetize the directory, so that filenames that start 
with A are at the top, and the Zs show up near the 
bottom of the listing. Compressing a directory is also 
now allowed. This moves the filenames to the begin- 
ning of the directory (overwriting deleted filenames), 
thus allowing for faster filename lookups. 

The directory listing produced by TOP-DOS is 
highly informative and not limited to the likes of file- 
names, protection status, file lengths and number of 
free sectors. It will inform you if a file is deleted or 
was left open (not properly closed), as well as how 
many files and sectors are in use or available. Single, 
double or quad density (double-sided, double density) 
disks are also flagged, and the disks are identified as 
being formatted by DOS II or TOP-DOS. 

Also, if you don't need anything fancy here, simply 
typing the number of the drive the disk is occupying 
will produce a listing onto the screen. 

Help is on the way. 

One of the nicest features of TOP-DOS is that you 
really don't have to read the instruction book (which 
is over seventy pages long and quite excellent) to use 
it! Eclipse has incorporated into TOP-DOS some of 
the most extensive "help" files I have ever run across. 
If you are wondering how TOP-DOS works, simply 
type a question mark at the prompt, and a general 
overview of the program will appear on the screen. 
If you have a question about one of the commands, 
typing the command's letter and another question 
mark will produce a detailed breakdown, including 
all the allowed options. It couldn't be simpler. 

Error messages are another area where TOP-DOS 
is truly helpful. Imagine that you are developing a 
BASIC program, and the first time you run it, an er- 
ror 141 flashes onto the screen. You can't be expected 
to remember every single error code that comes along 
(after all, a computer's supposed to help you, not force 
you to dash for the reference manual), but with TOP- 
DOS there is hope. One simply has to call up the 
DOS menu and type a capital T, which stands for 
trouble (right here in River City), followed by the er- 
ror number — in this case, 141. Your computer will 
print out Cursor Out of Range, the meaning of an er- 
ror 141. How very nice, indeed! 

Other new and wonderful commands include Unde- 
lete and Read/Store. Undelete is a much-needed com- 
mand that allows you to literally raise a file "from the 
dead." Many a time I've erased a file — only to realize 
a moment later that 1 needed that file desperately! 
Undelete will return the file to its previous condition 
— truly a lifesaver. If you are ever in a bind and need 
to examine and/or change bytes in memory, TOP- 
DOS will do that, too — with the Read/Store com- 



PAGE 76 



ANALOG COMPUTING 



ISSUE 23 



mand. It's almost like having an OMNIMON board 
in your computer (almost). 

Yet another menu! 

To allow you to customize TOP-DOS, there is yet 
another menu, accessible through the Set/Status com- 
mand. This menu (an even more extensive one than 
the main menu) will allow you to: (1) change prompt 
character; (2) change left margin; (3) change system 
drive number; (4) change number of open file buffers; 
(5) add drive to drive list; (6) remove drive from drive 
list; (7) set drive to single density; (8) set drive to dou- 
ble density; (9) set drive to quad density; (10) modify 
drive control bytes; (11) display status; (12) initialize 
disk buffers; (13) toggle RS-232/MEM.SAV option; 
(14) toggle cartridge bypass option; (15) toggle resi- 
dent DOS option; and, finally, (16) toggle WriteA^erify 
option. 

Most of these are pretty self-explanatory, so I will 
only touch upon the more unusual ones here. 
(10) Modify drive control bytes — PERCOM- 
compatible drives (Indus, Trak, Rana, etc.) have 
twelve bytes that can be transferred to or from 
the drive in order to control things like density, 
head-access time, and maximum sector count, 
to mention a few. This option will allow you not 
only to examine these bytes, but to change them 



as necessary. While you'll probably never use this 
feature, it's still nice to know it's there. 

(14) Toggle cartridge bypass option — Allows 
you to go directly to TOP-DOS upon power-up, 
even though a cartridge (like BASIC) is installed. 
Normally, we would come up in BASIC and have 
to type the word DOS to get to the TOP-DOS 
menu. 

(15) Toggle resident DOS option — If you don't 
like the wait to load the DUP.SYS file and have 
plenty of free memory to play with, you may con- 
figure TOP-DOS to be resident. This means that 
the entire DOS is loaded into the computer's 
memory, instead of merely a part of it, and the 
DOS's menus are instantly accessible. The only 
drawback is that you lose an extra lOK of RAM 
space. The choice is yours. 

Bells and whistles. 

I have come to realize that R.K. Bennett (the au- 
thor of TOP-DOS) loves his work and, above all else, 
writes software to please himself. This is noticeable 
in TOP -DOS's extras — things which no software spec 
writer would ever have thought up. . .Little things, 
like: 

(1) RAMDISK Support - TOP-DOS can be 

configured to use either an AXLON 128K or 



€[rg@ 



prnutding the the greatest coMpatifai I i ty 
with all atari* software and featuring! 

• no disk or transLatnr tn Load 

• full cnnpatafai Li ty with Text Mizard, 
Letter Perf.. ganes and Many prograns 
that a translatar Just can't handle 

• proper BESET operation 

• easy user access to extra RRN for word 
processing. P.m. ,etc. .etc. 

• power up push button coMMands for all 
HUM, extra HflM, BflSIB Lane touch] 

• warMstart with coldstart option and 
More! 

• easy no-anlder LO Min installation 



Price: eeeXL tJS79.95 IZGO/L use9.95 
Terns; check, w.n., cdshiers chk 

na charge Ciards — end add $5 
foreign add $3-nn end outside US 
Cialif=. res. add S/eSK 
subject Xa price change and availafailitg 



PDB 2205 REDDMDD BE4Ct1 114 



C213 13764105 



EPSON", NEC*, PROWRITER*, GEMINI', OKIDATA 92* 
OKIDATA 82A/OKIGRAPH, M-T SPIRIT, DMP-80, PANASONIC KXP-1070 



NEW! 

ATARI 




The only self-booting grafix handler for dumps in horizontal format 

— all mach. lang. — Lister incl. — all modes — mixed modes — 
change aspect ratios, etc. while running other programs — assem ed 

— basic or no cartridge — demos, utilities, fonts, included — dump, 
create forms, stationery, calendars, requires interface. '29.95 

B diskwiz-ll n 

Now for single/double density. Repair, explore, alter, duplicate, 
map, speedcheck, bad sector (810), block move, trace, special print 
capabilities, disassembler, new speed, new ease, new functions, 
special printing functions, excellent repair tool w/instr. — even better 
than before! The best repair/editor/duplicator at any price — still at 

the lowest price. (Updales avail, lor a small (ee.l »29.95 

1st Class Postage Paid 

California Residents add 6%, Foreign Orders add $2.50 

C.O.D. add $3.00 — No credit cards 

Prices subject to change 

(213) 376-4105 



IVI, 



lACROWARE Redondo Beach, CA 90278 

Indicates Trademarl< of non-related company 



CIRCLE #132 ON READER SERVICE CARD 



ISSUE 23 



ANALOG COMPUTING 



PAGE 77 



MOSAIC 64K bank select memory board as an 
extra disk drive. This RAMDISK, which is set 
as drive 8, allows for instantaneous disk access- 
ing to speed up your program execution. You're 
really accessing RAM, but, for all intents and 
purposes, the software will treat it as just another 
disk drive. 

(2) Interception of BRK instruction — About 
the only use for machine language BRK instruc- 
tions is in the development of machine language 
software, and they are removed after the software 
has been fully debugged. If a standard Atari com- 
puter tries to execute a BRK instruction, it will 
more than likely do something vaguely nasty — 
like lock up the keyboard. TOP-DOS will not 
allow this to happen and will bring you back to 
DOS, as well as flag the address where the BRK 
occurred. 

(3) New COPY options — MERGE copies to 
the destination disk only those files from the 
source disk that are not already present on the 
destination disk. The reverse of this would be 
the UPDATE option, which only copies files that 
the source and destination disks both contain. 

(4) Formatting disks — You can specify that 



the format command only initialize the VTOC 
and filename sectors on a disk. This is a fast way 
(three seconds!) to clear the filenames from a pre- 
viously formatted disk. One may also specify the 
number of sectors to enable on a nonstandard 
disk drive, up to 944 (720 is the default). 

(5) Command files — DOS files containing 
TOP 'DOS commands which can be executed 
from DOS or at system power-up. Command files 
can even call other command files. 

(6) Entry points — TOP -DOS has had some 
of its memory locations set aside as flags, pointers 
and machine language entry vectors. This allows 
your machine language programs easy access to 
some of the TOP-DOS routines, such as read- 
ing filenames. 

The big finish. 

TOP-DOS retails for $49.95, and I feel it's worth 
every penny. It also comes with a thirty-day money- 
back guarantee! You can't ask for more than that. 

It seems fairly safe to say that this reviewer really 
really likes TOP-DOS. The only negative aspect that 
I could find was that, in this article, I've mentioned 
the name TOP-DOS over thirty times! Let's see, if 
Eclipse were paying me on that basis (sure, Charlie- 
Ed.), it would come to. . . D 




ALL THE BEST PRICES 

ATARI HOME COMPUTERS r= 



850 Interface { $159.00 

1010 Recorder : 171.99 

1020 Color Printer ' $219.00 

1025 Dot Matrix Printer $249.00 

1027 Letter Quality Printer $269.00 

1030 Direct Connect Modem $99.99 

1050 Disk Drive $329.00 

1064 Memory ModuJe ; |l2B.o6 

CX30 Paddles ; $11.99 

0X40 Joysticic ;. #7.99 



Touch Tablet/Software $64.99 

Light Pen/Software ^72.99 

CX22 Traclc Ball $39. 99 

7097 Atari Logo $74.99 

4018 Pilot (Home) $57.99 

405 Pilot (Educ.) $99.99 

8036 fVtari Writer $77.99 

5049 VislCalc $139.99 

488 Communicator II $119.99 




eOOXL $ CALI. 

800XL $CALL 

laOOXI. $CALL 

While Supplies Last 



DISK DRIVES FOR ATARI 



INDUS 



GT Drive.. 



.$379.99 



" PRIFTBRS 

AXIOM 

AT- 100 $199.00 

AT-700 $489.00 

AT-e46 Interface $69.99 

BMC 

BX 80 $269.00 

EPSON 

RX & PX Series $Call 

MANNESMAN TRALLY 

Spirit 80 $289.00 

MT-160L $589.00 

NEC 

8027 Dot Matrix $389.00 

OKIDATA 

82, 83, 92, 93 $Call 

OLYMPIA 

0L2 w/Key board $469.00 

OLRO $499.00 

STAR GEMINI 

Gemini lOX $279.00 

Gemini I5X $399.00 

Radix 10 $599,00 

TEC 

8510P ^;.!..;.^ ........I $379.00 

FlO-30 $569.00 



4011 Star Raiders $31.99 

4022 Pac Man $31.99 

4025 Defender $31.99 

8026 Dig Dug $31.99 

8031 Donkey Kong $35.99 

8034 Pole Position $37.99 

8040 Donkey Kong Jr $33.99 




■I east 

800-233-8950 



In PA call (717)327-9575, Dept. 117 

Order Status Number: 327-9576 

Customer Service Number; 327-1450 

477 E. 3rd St., WilUamsport, PA 17701 



TRAK 

AT-D2 $389.00 

AT-D4 .;$l?39.00 

TRAK PRINTER CABLE $34.99 

MONITORS 

AMDEK 

300 Green $149.00 

300 Amber $159.00 

300 Color 289.00 

500 Composlt/RGB/VCa $399.00 

BMC 

Color 9191 + $349,00 

BMC 

Color 1216 $259.00 

SAKATA 

Color 100 $249.00 

TAXAN 
Color 210... $299.00 

USl 

Color 1400 $249.99 

ZENITH 

ZE122 Amber $99.99 

ZE123 Green $89.99 

ZE135 Color $469.00 

MEMORY BOARDS 

Axlon 38K $59.99 

Axlon 48K $99.99 

Axlon 128K $299.00 

ALIEN VOICEBOX 

Atari $119.99 

SOFTWARE 



RANA 



1000. 



.$299.00 



MODEMS 

ANCHOR 

Volksmodem $59.00 

Atari Cable $9.99 

HAYES 

300 $199.00 

MICRO BITS 

MB 1000 $139.00 

NOVATION 

J-CAT $99.99 

ALIEN 

VOICEBOX $119.00 

AXION 

32K Memory $59.99 

98K Memory $99.99 

lg8K Memory $299.00 

BIT-3 

Full View 80 $249.00 

KOALA 

Koala Pad (Rom) $79,99 

KRAFT Sc WICO 

ControUe rs $Call 

MICRO BITS 

MB1150 Printer Interface $89.99 

MONITOR & PRINTER 
Cables and Interface $Call 



8043 Ms. Pacraan $37.99 

8044 Joust $37.99 

8045 Pengo $33.99 

8052 Moon Patrol $33.99 

4003 Assembler $44.99 

8126 Microsoft Basic I or II $64.99 



The Learning Company $Call 

Broderbund $CaH 

Creative Software $CaU 

Electronic Arts $CaU 

Epyx $CaU 

Infocom $Call 

Sega $Call 



Canada 

Ontario/Quebec 800-268-3974 
Other Provinces800-2G8-4559 




In Toronto call (416)828-0866. Dept. 117 
Order Statiis Number: 828-0866 
2505 Dunwln Drive, Unit 3B 
Mississauga, Ontario, Canada L8L1T1 



800-648-3311 

In NV call (702)588-5654. Dept. 117 

Order Status Number: 588-5654 

P.O.Box 6689 

Stateline, MV 89449 



No risk, no deposit on C.G.D. orders and no waiting period for certified checks or money orders. Add 3% (minimum $6) shipping and 
handling on all orders. Larger shipments may require additional charges. NV and PA residents add sales tax. All items subject to availability 
and price change. Call today for our catalog. 

CIRCLE #133 ON READER SERVICE CARD 



ISSUE 23 



ANALOG COMPUTING 



PAGE 79 



DONKEY KONG JUNIOR 
ATARI, INC. 
Sunnyvale, CA 94086 
16K Cartridge $49.95 



by David Shen 



While strolling through a local Toys R Us store, I 
chanced upon a Donkey Kong Junior cartridge hid- 
den amidst some unwanted Cabbage Patch Dolls. Hur- 
riedly whipping out my wallet, I bought the game and 
rushed home. I slammed the cartridge into my trusty 
old 800, flipped the power switch and was greeted 
by a nice title screen and a rambling tune. 

Game setup. 

For those of you who are not familiar with Don- 
key Kong Junior, here's a brief storyline. In Donkey 
Kong, Mario, the heroic carpenter, had to rescue his 
girl from the clutches of the gorilla, Donkey Kong. 
Naturally, Mario wanted revenge. So, in Donkey Kong 
Junior, he's captured the confused ape, and it's up to 
Kong's little son. Donkey Kong Junior, to save his 
chained and caged father. But no one said this task 
would be easy! 

Junior must climb multitudes of vines and chains 
in the presence of various comical menaces, all sent 
by Mario to ruin Junior's day. He has to survive the 
trip through four aptly-named screens of danger and 
peril. 

In the Vine Scene, Junior has to fight his way up 
vines crawling with deadly Snapjaws to reach the key 
that hangs next to his father's cage. His only defense 
against these attackers is the fruit growing on the 
vines, which he can drop onto them. 

In the Chain Scene, Junior must insert six keys into 
the six locks which hold Kong's cage. But there is a 
new, added creature to contend with — birds traverse 
the screen, hoping to give Junior a bad time. Once 
Junior unlocks all the locks, Kong literally gives Mario 
the boot. 

In the third screen, the Jump Board Scene, Junior 
has to leap onto a jump board, which carries him to 
a moving platform. His moves must be precise, since 
an accident would waste one of his precious lives. Af- 
ter that. Junior still has to make his way through 
hoards of flying Nitpickers. They drop eggs which can 
send Junior plummeting. 

Providing that he has gotten this far. Junior comes 
to Mario's Hideout, where glowing Sparks and Globes 
protect Mario and his prize. Yes, Junior still can use 
fruits, however, the more he lingers, the more dangers 
Mario releases. 

Getting to business. 
Enough talk on the game setup; now into the game 
itself. This verion of Donkey Kong Junior looks al- 
most like its arcade counterpart. Each screen is won- 



derfully akin to one in the quarter-snatching original. 
There is, I'm happy to say, little, if any, flickering. 
Playwise, there is some acclimatization to be done. 
You may be a whiz at Donkey Kong Junior in the 
arcades, but find yourself not getting past the first 
board at home. I was frustrated beyond belief on my 
first few tries. The semi-instruction book hardly aided 
me on my quest. Some will absolutely hate this game 
for being so tough; others will, as I did, enjoy the 
challenge. 




Donkey Kong Junior screen 1. 




Donkey Kong Junior screen 2. 

Where did they go? 

Beneath all this good fun, there are some missing 
elements and problems. There is a slight crudeness 
in the controls, and both the introduction of the ar- 
cade version and the unwanted GAME OVER are 
missing. These problems are compensated for by the 
great intermissions and musical tunes. Hardcore ar- 
cade game fans — or anyone else — shouldn't be disap- 
pointed. Putting Donkey Kong Junior on a scale of 
one to ten, I'd give it a hearty eight and a half. D 



PAGE 80 



ANALOG COMPUTING 



ISSUE 23 




Boot 
Camp 




by Tom Hudson 



As of now, all Boot Camp readers have been ex- 
posed to the instructions most assembly programmers 
consider important. Sure, there are a few we skipped, 
but they're primarily used for advanced applications, 
such as interrupt handling. We'll discuss them later. 

This month's column presents some information 
that will prepare you for next issue's subject: BASIC 
USR calls. 

I'm assuming that most readers of Boot Camp want 
to speed up their BASIC programs with ultra-fast ma- 
chine code. If you don't, you could probably skip this 
issue's column, but it's best that you read it and un- 
derstand it. If you gain more knowledge of assembly 
language now, you'll have fewer "unsolvable" problems 
later. 

Tailor-made or off-the-rack. 

From time to time, while reading ANALOG or 
other magazines dealing with assembly language, you 
may have heard the term relocatable used to describe 
an assembly program. What does this term mean? I 
find a good analogy in the clothing industry, suits in 
particular. 

When a wealthy executive goes out to buy a suit, 
he probably won't go to the local self-service "Bar- 
gain Barn" to find one. No, he'll usually see a tailor 
in order to have one custom-made. More than likely, 
the suit he has made will fit him perfectly, and no- 
body else. 

When I, on the other hand, go out to buy a suit, 
I like to get it over with as soon as possible, since I 



have more important things to do than buy something 
I'll use at most a dozen times a year. I'll go straight 
to the "Bargain Barn" and pick out an off-the-rack, 
stock suit. The suit would probably fit thousands of 
other people fairly well. If I'm lucky, it'll look just 
about as good as a tailor-made suit. Usually, though, 
you'll have to compromise in some area, such as "per- 
fect" fit. 

Assembly programs are sort of like suits. Some pro- 
grams are written to run only in a specific area of 
memory and are known as non-relocatable. 

Here's an example: my program Retrofire (issue 14) 
was written to reside in the area of memory starting 
at $0800. If you try to load it at $6000, it just won't 
work. At best, the screen may change color, and the 
system will crash. Even if you place it as little as one 
byte off, at $0801, it will crash. That's because this 
program is tailor-made to work only at $0800, and 
no amount of work (short of re-assembly) will make 
it operate elsewhere. Retrofire is non-relocatable. 

On the other hand, let's say you write a short as- 
sembly routine that is going to be used by a BASIC 
USR call. You've placed the object code bytes in the 
BASIC string ML$ and are going to call it with the 
statement: 

A=U5RCADRfHL$l) 

Since you don't know where in memory BASIC will 
put the string ML$, this routine must be relocatable. 
It must be able to operate wherever BASIC puts it. 



ISSUE 23 



ANALOG COMPUTING 



PAGE 81 



Just like you would with an off-the-rack suit, you'll 
have to be willing to compromise to a certain degree, 
by writing your code so that it can be placed any- 
where in memory. 

Let's take a look at how relocatable routines are 
written. 

The ABCs of relocatability. 

When you're writing normal, non-relocatable code, 
you don't have to worry about anything. You simply 
write to your heart's content and let the computer 
do the rest. 

Not so with relocatable code. There is one rule that 
must be followed without exception: never refer to a 
location or label within the relocatable code with an 
absolute format instruction. 

What does this mean? Take a look at Figure 1. 



eeee 




16 




*- 


$6688 


6600 


A9ei 


26 




LDA 


tt$61 


6602 


266686 


36 




JSR 


SUBR81 


8605 


66 


46 




RTS 




6606 


8D8A86 


56 


SUBRei 


5TA 


TEHP 


6609 


66 


68 




RT5 




66eA 




76 


TEMP 


«= 


«*1 



Figure 1. 

Let's assume we want to use the code in Figure 1 
as a relocatable subroutine. We've got two problems. 

First, the JSR instruction is an absolute addressing 
instruction and it is referring to the label SUBROl, 
which is within our routine. What does the reloca- 
tion rule say? We cannot use an absolute addressing 
instruction which refers to a label within the code 
to be relocated. This JSR is a definite no-no. 

Second, the STA TEMP instruction is also abso- 
lute and it refers to TEMP, a label within the rou- 
tine. Sorry, but you can't do this, either! 

Let's see what happens if this routine is relocated 
to $6000, instead of $0600, where it was assembled. 
Figure 2 shows the program image stored in memory 
at $6000, with the source code shown to the right. 



ADDR 

(6686} A981 = 

(6682} 288666 = 

(6885} 68 = 

(6886} 8DeA86 = 

(6689} 68 = 

(666A) = 



LDA tt$81 

JSR $8666 

BTS 

STA $668A 

HIS 

»= «*l 



Figure 2. 

First, the LDA #$01 is executed. Since this is an 
immediate format instruction, all is well so far. 

Next, the JSR SUBROl instruction executes. If you 
look at Figure 1, you'll see that SUBROl is supposed 
to be at location $0606, but the program has been 
relocated to $6000! The code at SUBROl is now at 
$6006, yet the 6502 has no alternative but to follow 
its instructions. It JSRs to $0606! 

What happens next is anybody's guess. Location 
$0606 may contain BRK instructions, garbage or even 



Aunt Mary's recipe program. There's simply no way 
of telling, and the system will probably crash. 

How do we avoid such a catastrophe? It takes a lit- 
tle work, but it can be done. Rethink your program 
so that it does not use absolute addressing instruc- 
tions. Sometimes this is easier said than done, but 
if you want it relocatable, you've got to work a little 
harder. 

The most common problem in relocating comes 
when you need to JMP to another part of the rou- 
tine. Remember, the most common JMP instruction 
is (you guessed it) absolute! Here's an uncomplicated 
solution. . . 

All of the 6502 branch instructions use relative ad- 
dressing. This isn't absolute, so we can use all the 
branch instructions in our relocatable routines. The 
only problem is that all the branch instructions are 
conditional. In order to branch each time the branch 
instruction is executed, we'll have to make sure its 
branch condition is true. All the following combina- 
tions will replace the JMP instruction: 



CLC 
BCC 

SEC 
BCS 

LDA 
BEQ 

LDA 
BNE 

LDA 
BMI 



LABEL 



LABEL 

tte 

LABEL 

ttl 
LABEL 

ttSFF 
LABEL 



All of these branch instructions replace the JMP 
instruction, but their branch range is limited to about 
128 bytes. That is, if your relocatable routine is 200 
bytes long, and you need to branch from the end to 
the beginning, one branch won't go far enough. You'll 
have to set up a "bucket brigade" branch. This is ac- 
complished by branching to a second branch, which, 
in turn, branches to the final destination label. We'll 
look at this process in detail in another installment. 

Where to put data? 

Another common problem in relocatable routines 
is being uncertain about where to place data values. 
They can't be placed in the routine itself, because to 
load and store the data requires the use of absolute 
addressing. 

If your relocatable routine is for Atari BASIC, you 
can use the zero page locations $CB through $D1. 
Page 6 ($0600-06FF) is also available for data storage. 
When your relocatable routine utilizes data in these 
areas, all is well because they never move. 

Subroutines in relocatable code. 

Using subroutines in relocatable code is a particu- 
larly messy problem and one for which I've never seen 
a good solution. For now, try to write any relocatable 
routines with the subroutine code in-line. This is 
usually acceptable for short subroutines. 



PAGE 82 



ANALOG COMPUTING 



ISSUE 23 



Making code relocatable. 

As we have seen, the code in Figure 1 is far from 
being relocatable. However, we can make it relocat- 
able with a few small changes. 

First, let's get rid of the subroutine. It's a short one, 
so there is no real problem with putting it in-line. 
Figure 3 shows the code modified to eliminate the 
subroutine. 

LDA ttsei 

5TA TEHP 
RTS 
TEHP «=»+! 

Figure 3. 

Okay, that takes care of the subroutine problem, 
but there's still the matter of the TEMP storage lo- 
cation. 

No problem, we'll simply place it in a free location 
on page zero, as shown in Figure 4. 

TEMP = $CB 

LDA tt$ei 

STA rEMP 
RTS 

Figure 4. 

As you can see, we have merely told the assembler 
that TEMP is at location $OOCB. This shows the use 
of the EQUATE directive. Your assembler may use 
the directive EQU instead of the "equal" sign. Check 
your assembler manual. 

That was simple enough, right? Let's do another 
one. 

START LDA BYTEl 

CLC 

ADC ttl 

5TA BYTE2 

JNP PARTS 
PART2 CMP tt4 

BNE PART3 

JMP START 
PARTS LSR A 

JMP PART2 
BYTEl »=«HH 
BYTE2 »r«+l 

Figure 5. 

Figure 5 shows a slightly larger program that is not 
relocatable. It has two data items and three JMP in- 
structions that must be altered in order to make the 
program relocatable. 



PART2 


CMP 


tt4 




BNE 


PARTS 




JMP 


START 


PART3 


LSR 


A 




JMP 


PART2 


BYTEl 


— 


$eee 


BYTE2 


~ 


5601 


START 


LDA 
CLC 


BYTEl 




ADC 


ttl 




STA 


BYTE2 




JNP 


PARTS 



Let's change the data items first. They're easiest, 
since the only action needed is to place them in fixed 
memory somewhere. We'll put them on page 6, the 
area of memory set aside for our use. Figure 6 shows 
the program after we make the data item change. 

Now let's tackle the JMP instructior^. The first JMP 
jumps to PART3. If you examine the code at PART3, 
you'll see that it expects the accumulator to contain 
the result of the add in the START section. There- 
fore, we cannot alter the accumulator. In this case, 
let's replace JMP PART3 with the code: 

CLC 

BCC PARTS 

This code clears the carry flag, forcing the BCC 
PART3 to branch. It's simple and it works just like 
the JMP did. 

The next JMP, the one in the PART2 section, will 
JMP to START. We need to replace the JMP with 
a branch, and this case is particularly easy. 

If you look at the instruction preceding the JMP, 
you'll see that it's a BNE (Branch Not Equal) instruc- 
tion. This means that the JMP START instruction 
will only execute if the accumulator is equal to four. 



Figure 6. 



Avalanche 
Correction 



In ANALOG Computing issue 21, the 
assembly language game Avalanche was 
given a memory requirement of 16K for 
cassette. 

As listed, it is too large to fit in these 
systems. However, by removing Lines 10, 
20, 150, 180 and 190, the program will 
execute properly in 16K. 

When run, the modified program will 
create a cassette copy of the game, with 
no cassette or disk prompt. 



ISSUE 23 



ANALOG COMPUTING 



PAGE 83 



We can take advantage of this fact when we replace 
the JMP. In this situation, the JMP START can be 
replaced with: 

BEQ START 

The last JMP, in the PART3 section, is right after 
an LSR instruction. We don't want to disturb the ac- 
cumulator, so we can replace the JMP with the code: 

CLC 

BCC PART2 

The final, relocatable code for the program is shown 
in Figure 7. 



START LDA 
CLC 
ADC 
STA 
CLC 
BCC 

PART2 CNP 
BNE 
BEO 

PART3 LSR 
CLC 
BCC 

BVTEl = 

BYTE2 = 



BYTEl 

ttl 
BVTE2 

PART3 

tt4 

PART3 

START 

A 

PART2 

$eee 

$681 



The important thing to remember when making a 
program relocatable is to avoid disturbing any registers 
the program is using. Don't make any assumptions 
about what the program is doing— check it out. 
Review the instructions. 

It's a good idea, at this point, for you to go back 
and review all the operation codes we've discussed 
so far, noting all those which use the absolute address- 
ing mode. It's important that you get to know all of 
the assembly instructions as well as you know the BA- 
SIC commands. This will avoid wasting a lot of time 
looking instructions up in a book when you start pro- 
gramming. 

Next issue, we'll talk more about relocatable code, 
when we start examining BASIC USR calls. Until 
then, reviewl D 



Figure 7. 



Send all letters to: 



Boot Camp 

c/o ANALOG Computing 
P.O. Box 23 
Worcester, MA 01603 



Talk to 
ANALOG Computing 

We're happy to announce that three members 
of our staff can now be regularly found on Com- 
puServe. If you're a CompuServe member, you 
can contact Tom Hudson, Charles Bachand or 
Art Leyenberger by leaving a message on the 
Atari SIG, which can be accessed by typing GO 
PCS-132 at any menu page. 

The Atari SIG has logged over 100,000 calls 
—with over 60,000 messages posted! They have 
a staff of highly competent SYSOPs, headed up 
by Ron Luks, who are more than happy to help 
you. Their program database contains well over 
a megabyte (that's one million bytes, folks!) of 
Atari programs that can be downloaded into 
your computer. 

So, if you need to get in touch with ANA- 
LOG Computing, you can now do it through 
CompuServe. Our user numbers are: 

Tom Hudson 70775,424 

Charles Bachand 73765,646 

Art Leyenberger 71266,46 



DISKCRAM 

WHY WASTE VALUABLE DISKS? 

DISKCRAM is here at last! A powerful utility to store up to 
10 single stage boot tapes, disks or binary files on one disk. 
Disks created by DISKCRAM will then run any stored pro- 
gram with one key-stroke. FAST!! No DOS is used! Re- 
quires 48K of RAM, $39.95 (disk only) 

CARTCRAM 

Put up to 10 cartridges on one disk, then run ANY stored 
program, with one key-stroke. Requires 48K of RAM, with 
at least one modified 16K board. ALL parts and instructions 
are included. $49.95 (disk only) 

MASTER PAINTER 

FUN FOR THE ENTIRE FAMILY 

Display up to 22 shades from just 4 colors. Will run on ANY 
48K machine. 35 powerful commands allow the user to 
easily create colorful Hi-Res paintings. Allows you to use 
your paintings in your basic programs. Screen dump to 
NEC printers included. $39.95 (disk), $34.95 (tape) 

MASTER FONT 

An efficient and easy to use character editor. Edits up to 4 
characters at a time. NINE screens allows you to design 
animation sequences and actually see what they look like. 
Menu driven. Allows the use of character sets in your basic 
programs. $24.95 (disk), 19.95 (tape) 

HOME FINANCE 

VERSATILE AND DYNAMIC 

Completely menu driven database system. Use for your 
home budget to balance the checkbook, or use as an ac- 
counting system for a small business. Balance sheets can 
be printed to ANY printer. Requires 48K of RAM. $39.95 

from FUTURE TECH SYSTEMS 

123 THE MEADOWS 

APOLLO, PA. 15613 

phone (412) 639-9560 

MASTER CHARGE and VISA accepted 

Pa. residents add 6% sales tax. Dealer inquiries invited 

CIRCLE #144 ON READER SERVICE CARD 



L^co Computer Marketing & Consultants 

TOLL FREE 800-233-8760 



TO ORDER 

CALL us 



'n PA 1 717-327-1824 



MANNESMANN 
TALLY 

SPIRIT 80 S299.00 

MTL-160L S559.00 

MTL-180L S775.00 

NEC 

NEC8023 S369.00 

NEC8025 S699.00 

PRINTER 
INTERFACING 

AVAILABLE FOR COMMODORE 
VIC. APPLE, ATARI. IBM-PC. 
TRS-80. Tl. AND OTHERS 

PRINTING PAPER 

3000 SHEETS 

FANFOLD S42.75 

1000 SHEETS 

FANFOLD S19.75 

1000 SHEETS LETTER. ..S21. 95 

200 SHEETS LETTER S8.99 

150 RAG STATIONERY. ..S10. 99 
MAILING LABELS (1 in) ...S9.75 
14x11 1000 FANFOLD ...S24. 75 



STAR 



SAVE "PRINTERS 



MICRONICS 

GEMINI 15X S379 00 

DELTA 10 S449 00 

DELTA 15 S525 00 

RADIX 10 SS75 00 

RADIX 15 S675 00 

POWERTYPE SCALL 

SWEET P(Moclel 1001 . S549 00 
STX80 S149 00 



GEMINI 10X$259.00 



CITOH 



GORILLA GX-lOO 

GORILLA SERIAL 

PROWRITER 8510 

PROWRITER II 

8600 

STARWRITER 

PRINTMASTER 

SHEET FEEDER 

620 

630 

8510 SP 

(510 SCP 

AlO LETTER OUAL 



EPSON 



SI 69 00 
SI 99 00 
S335 00 
S575 00 
S899 00 
S999 00 

S1299 00 
S425 00 
S929 00 

SI 699 00 
S499 00 
S559 00 
S499 00 



RX-80 $269.00 

RX-80FT $299,00 

FX-80 $439.00 

FX-100 $639.00 



OKI DATA 



80 3199.00 

82A $299.00 

83A $569.00 

84 $959.00 

92 $409.00 



MODEMS 

ANCHOR MARK I S45.75 

ANCHOR MARK II $45.95 

HAYES SMART $239.00 

HAYES MICRO II $309.0 

DISKETTES 

ELEPHANT 

SVV SSSD $16.75 

5%" SSOD $19.95 

S'A" DSDD $25.95 

MAXELL 

5yA" MD-1 $24.75 

5'/4" MD-2 $34.75 

CERTRON 
CASSETTES 

CC10(121 $15.99 

_CCjO(12) $17.99 

DUST COVERS 

1200 a>3.99 

810 S3. 99 

600 XL S5.99 

800XL 85. 99 

1050 S5.99 

1010 $5.99 

PROWRITER $5.99 

GEMINI 10X $5.99 

PERCOM S5.99 

EPSON $5.99 

RANA S5.99 

VIC 64/20 S5.99 

VIC 1541 $5,99 

I KOALA TOUCH TABLET. . . . $69.75 



WICO 

COMMODORE & ATARI 

JOYSTICK S16.75 

RED BALL S18.75 

BOSS JOYSTICK S12.75 

TRACK BALL S32.75 

12 FT EXT CORD S6.95 

Tl ADAPTER S9.95 

APPLE ANALOG S34.75 

IBM-PC ANALOG S34 75 



MIC ROB IT lOOOC $129.00 

CAT $144.00 

D-CAT $155 00 

J-CAT $1 15.00 

APPLE CATII $279.00 

212 APPLE CAT $589.00 



COMPUTER 

CARE 

BIB 



DISK DRIVE CLEANER 
COMPUTER CARE KIT 



$12 75 
$19 75 



NORTRONICS 

DISK DRIVE CLEANER 
WITH SOFTWARE FOR 
IBM-PC. ATARI. VIC. 

APPLE. & Tl $29.75 

DISKCLEANER REFILLS $14.75 
CASS DRIVE CLEANER S9 95 
MEDIA BULK ERASER ...$46 75 



MONITORS 



SAKATA COLOR 

TAXAN GREEN 

TAXAN AMBER 

TAXAN RGB 

COMPOSITE 

ZENITH AMBER.. 
ZENITH GREEN.. .. 
GORILLA GREEN 
GORILLA AMBER. 

NEC JB1260 

NEC JB1205 

NEC JB1215 COLOR 

AMDEK GREEN 

AMDEK AMBER 

AMDEK COLOR 1 . 



1249.00 
$1 19 00 
$129.00 

S289 00 
.5105.00 
..$88.00 
$88.00 
.. $95 OO 
..$99.00 
$145 00 
$269.00 
$145.00 
$149.00 
$289.00 






TO ORDER 



CALL TOLL FREE 

800-233-8760 



ATARI 

800XL CALL 

1450XL CALL 

1050 DRIVE $299.00 

1027 PRINTER CALL 

1025 PRINTER $299 00 

1020 PRINTER $219.00 

1010 RECORDER $74.00 



ATARI 

PACMAN $29.75 

DONKEY KONG $29.75 

DIG DUG $29.75 

DEFENDER $29.75 

CENTIPEDE $29.75 

DEADLINE $34.75 

ENCHANTER $34.75 

INFIDEL $34.75 

PLANETFALL $34.75 

STAR CROSS $34.75 

SUSPENDED $34.75 

WITNESS $34.75 

ZORK I $34.75 

ZORK II $34.75 

ZORK III $34.75 



BUSINESS 

VISICALC $159.75 

LETTER PERFECT $89.75 

LETTER PERFECT R $89,75 

DATA PERFECT $89,75 

FILE MANAGER $69,75 

HOME FILE MGR $69,75 

BOOKKEEPER $19.75 | 

C.R.I.S $119.75 

TEXT WIZZARD $34.75 

SPELL WIZZARD $34.75 i 

SPINNAKER 

STORY MACHINE R $26.75 I 

FACE MAKER R $24.75 

KINDEROMP R $20.75 

FRACTION FEVER R $24.75 

DELTA DRAWING R $26.75 \ 

PARKER BROTHERS 

TUTANKHAM R $33.75 ] 

SUPER COBRA R $33.75 

ASTRO CHASE R $33.75 

FROGGER R $33.75 

Q BERTR $33.7 5 1 

POPEYE R $33.75 1 

RISKR $42.75 

CHESS R $42 75 



DISK DRIVES PERCOM 

AT8851 $249,001 

AT8851PD $299.00l 




RANA 1 000 
INDUS GT.. 



,..$299 
..$315 



CONCORD 

ATARI 176K MASTER $289.00 
ATARI 348K MASTER $369. OO 
ATARI ADD-ON DRIVES .$CALL 



ADD-ON DRIVES CALL I 

AT 88 DOUBLER $11 9.00 j 

TRACK DRIVES 

AT-D2 $329.00 

AT-D2 TURBO PAK $22.95 

AT-DH CALL 

PRINTER CABLE $22.95 

INNOVATIVE 
CONCEPTS 

FLIP-N-FILE 10 $3.75 

FLIP-N-FILE 15 $8.95 

FLIP-N-FILE 25 $18.95 

FLIP-N-FILE 50 $17.75 

FLIP-N-FILE(RomHolder). . . $17.75 



POLICY 



or send orde' lo 
Lyco Computer 
P O Box 5088 
Customer Service 1-71 7-327-1825 Jersey Shore PA 1 774C 



In slock Items stiipped witri;n 24 hours ol order Personal 
checks require tour weeks clearance before shipping No 
depositonCOD orders Free shipping on prepaid cash orders 
wilhin the continental U S PA residents add sales tax All 
products subject to availability and price change Advertised 
prices show 4 • discount ottered tor cash add 4 ■ lor Master 
Card or Visa DEALER INQUIRIES INVITED 



CIRCLE #134 ON READER SERVICE CARD 



ISSUE 23 



ANALOG COMPUTING 



PAGE 85 



ATR-8000 

SOUTHWEST MICROCOMPUTER PRODUCTS 

2500 E. Randol Mill Rd. 

Arlington, TX 76011 

16K $450.00 64K $599.95 



by Philip Altman 

Now that you've had your Atari for a while and 
you've seen what it can do, wouldn't you like to ex- 
pand its capabilities? Consider an Atari peripheral 
that will support up to four disk drives, not only 
Atari-compatible drives like the 810, but also standard 
5 'A" and 8" drives— in any combination— single, dou- 
ble or quad density, and single- or double-sided. Add 
the capacity to communicate with a variety of serial 
and parallel devices without a costly interface, includ- 
ing printers and modems, plus a printer buffer. Now, 
what if this device were a computer itself. . .with a 
4K mHz, Z-80 microprocessor and 64K of RAM, capa- 
ble of supporting both Ataris (XLs, too) and standard 
80-column terminals, and it came with CP/M 2.2? 
Southwest Microcomputer Products offers all this and 
more in the ATR'8000, and the 64K version costs 
less than the original 810 drive! 

Honest. . . 

Like other Atari peripherals, the ATR attaches to 
the serial I/O port. The unit is attractively packaged 
in a slim cabinet measuring llVz" X llVi" X IVi" 
and weighs just 8 lbs. There is an illuminated front- 
panel power switch, and at the rear are sockets for 
daisy-chaining Atari-only peripherals, like 810s and 
40 -column printers, as well as card-edge connectors 
for standard disk drives, printer and serial devices. At 
least one standard disk drive must be connected to 
the drive bus. "Standard" disk drives use a 34-pin 
(5'/4") or 50-pin (8") connector with a uniform pin- 
out, independent of manufacturer. Standard drives are 
more widely used and don't need the complex de- 
coding circuitry of Atari drives, so they are usually 
available for considerably less. High quality, 40-track, 
double-sided, double-density SVa" drives, like Tandon 
and Teac, for example, sell for about $300, including 
enclosure. If you already own Percom Atari drives, 
you're in luck, since they can easily be reconfigured 
as standard drives. To support double-density and 8" 
disk drives, SWP offers MYDOS, a sophisticated disk 
operating system with built-in RS-232 handler. Yet 
other popular disk operating systems, like OS/A+, 
are also usable, as well as Atari DOS 2.0, with cer- 
tain limitations. 

The ATR-8000 is available in several different ver- 
sions. The simplest includes the Z-80 microproces- 
sor, a 4K ROM, 16K of RAM and a 4K printer buffer. 
This unit offers most of the features mentioned above, 
although it cannot be used as a self-contained com- 
puter and lacks CP/M capability. The version which 



may be of most interest to Atari owners is similar and 
comes with 64K and standard Digital Research CP/M 
2.2. The 16K unit, incidentally can be upgraded. In 
this configuration, the ATR is a stand-alone com- 
puter which can be used with any Atari, as well as 
with an 80-column terminal in the CP/M mode. 
When the ATR is not being used for CP/M, the ca- 
pacity of the built-in printer buffer jumps to 48K. For 
those who need more, SWP offers the Co-Power-88 
board, which adds a 16-bit, 8088 microprocessor with 
either 128K or 256K of RAM. This enables the ATR 
to run CP/M -86 and MS-DOS software for the IBM- 
PC, so long as the programs don't rely on specific hard- 
ware features. 

CP/M — An operating system. 

An operating system is a program that allows the 
user to interact with and control a computer, while 
enabling the components of the computer to commu- 
nicate with each other. Since its development in 1976, 
CP/M (Control Program/Microprocessor) has become 
the "standard" operating system for 8 -bit computers 
based on the Z-80 microprocessor family. There are 
numerous languages and thousands of programs, many 
public domain, which run under CP/M. Custom oper- 
ating systems, like Atari's, are hardware-dependent, 
but CP/M is not designed around any one machine, 
so CP/M programs run on any CP/M computer. 




The ATR-8000 

Let's take a closer look at a CP/M system. At a mini- 
mum, it must include a central processor, free RAM, 
one disk drive and a console device for communicat- 
ing with the processor. Other devices, such as a mo- 
dem or a printer, are optional. Input/output occurs 



PAGE 86 



ANALOG COMPUTING 



ISSUE 23 



through I/O ports. CP/M distinguishes between "log- 
ical" and "physical" I/O devices. A logical device is 
a symbol which can be any one of several physical 
devices (these may be reassigned). There are four log- 
ical I/O devices: console, list device and two for paper 
tape, the punch and the reader. The console device 
may be a terminal, teletype or another computer, like 
the Atari. The list device is nearly always a printer. 
CP/M differs among computers in the software needed 
to support a particular set of physical devices. 

The CP/M operating system consists of four major 
parts, including RAM-resident software and programs 
loaded from disk when needed. 

1. FDOS is the core of CP/M. It consists of 
two parts, BDOS and BIOS, and is always pres- 
ent in memory. BDOS, the Basic Disk Operat- 
ing System, is identical in all CP/M systems. It 
processes I/O requests, handles sector allocation, 
maintains disk files, and so on. BDOS passes its 
information to BIOS, the Basic Input Output 
System, which is made up of the subroutines that 
control a specific computer's I/O devices. BIOS 
is, therefore, hardware-dependent and must be 
customized for each CP/M system. The ATR- 
8000 CP/M BIOS, for example, contains instruc- 
tions for communicating with the Atari com- 
puter, its console device. 

2. The Console Command Processor (CCP) 
deals with input from the console keyboard. It 
includes software supporting a standard set of in- 
trinsic commands, like DIRectory, REName and 
ERAse, which mainly manipulate disk files. Com- 
mands which cannot be directly handled by CCP 
are passed to BDOS for further processing. 

3. The Transient Program Area (TPA) is the 
CP/M's main memory. Its size depends on the 
host computer's available RAM (64K maximum). 
It is here that user programs are loaded and ex- 
ecuted. The CP/M system also includes a num- 
ber of transient commands provided as utility 
programs on the CP/M master disk. These are 
loaded into the TPA as needed. Among these 
are PIR STAT, SAM, ED, and others, all stan- 
dard with CP/M. 

4. The CP/M system (BIOS, BDOS, CCP) is 
stored on the first two tracks of the system disk. 
The CP/M bootstrap program, also on these re- 
served tracks, directs loading of CP/M into RAM 
and transfers control to the CCP. With the ATR, 
this process occurs with the "B" command of 
ATRMON, the ATR monitor program. 

Using the ATR- 8000. 

The ATR-8000 comes with a detailed manual des- 
cribing the various possible system configurations and 
includes instructions for interconnecting devices and 
preparing cables. Atari peripherals are daisy-chained 
with the usual serial I/O cords. But you'll have to buy 
or make cables for the standard disk drives, printer 



and modem, which require multi-conductor ribbon 
and card-edge connectors. 

The 64K ATR-8000 operates in either Atari or 
CP/M mode. As an Atari, the system is booted nor- 
mally by inserting a disk in drive 1 and turning the 
Atari on. A standard drive is recommended as drive 
1, since it can boot DOS for the Atari as well as for 
CP/M (an 810-type drive cannot be used for CP/M). 
In this mode, the ATR should read Atari disks, pro- 
tected and unprotected, with no problem. It also re- 
places the 850 interface and adds the printer buffer. 
With MYDOS, the print and RS-232 handler I/O 
commands work as usual. Using the system in dou- 
ble density is easy with MYDOS. 

In the CP/M mode, the ATR-8000 is no longer 
an intelligent peripheral, but a computer. The Atari 
acts as a terminal. SWP supplies a 40 -column Auto- 
Term disk which is booted before CP/M is loaded. 
CP/M requires an 80 -column display, which the Atari 
does not support. The AutoTerm software sets up a 
scrolling window that shows forty columns at a time 
on the TV or monitor screen. The window is moved 
horizontally in either direction with certain key com- 
binations. If you find this annoying, you can opt for 
an 80-column board for the 800 — or you may pur- 
chase a version of the AutoTerm software that very 
nicely emulates an 80-column display. A monochrome 
or high-quality color monitor is a necessity for the 
80-column format. 

Booting Auto-Term loads ATRMON. The CP/M 
system disk is then swapped into drive 1 and, using 
the "B" command, CP/M is loaded. SWP supplies 
CP/M Version 2.2 configured for 60K. The system 
master includes the standard Digital Research utilities 
(PIP, STAT, etc.) and several programs developed by 
SWP. The accompanying manual describes CP/M in 
brief, but you'll undoubtedly have to buy one of the 
many good books on CP/M to learn the details. SWP 
disk files include software for formatting and creating 
system disks, for customizing CP/M to non-standard 
peripherals, and for using a modem. The ATR is ca- 
pable of reading the CP/M disk formats of certain com- 
puters with no modifications. For others, there is 
D1SKDEF.COM, a utility that sets up a selected drive 
to emulate the disk characteristics of another CP/M 
machine. Among these are Osborne, Kaypro, TRS-80, 
and Xerox, as well as a variety of generic SVa" and 
8" disk formats. With this program, CP/M-based soft- 
ware written for these computers, like Wordstar and 
Microsoft BASIC, can be read into the ATR-8000. 
CP/M programs can also be transferred via modem. 
Public domain software of all kinds is freely available 
from a wide network of CP/M bulletin boards. 

The ATR-8000 is a truly innovative product for 
the Atari. With CP/M, it closes the gap between the 
Atari community and the computer world at large, 
and it offers an outstanding value for Atari users in- 
terested in economically expanding their systems. D 



Do you subscribe to ANALOG 
Computing on disk or cassette? 



... if not, then 
you should. 

Since issue 1, 
ANALOGS 

cassette 
and disk 
subscriptions 
have eliminated 
the need for you 
to spend hours 
typing in 
programs from 
the magazine. 

All of the 
programs in the 
magazine are on 
the cassette and 
disk versions. 

1 year (12 issues) on 
cassette. $90.00, 
disk, $130.00; 
Va year (6 issues) 
cassette, $48.00, 
6\sk, $72.00. 




'0 



ANALOG COMPUTING 
Issue #22 




-^ 



© 



ni 



To subscribe on cassette or disk, 
send check or money order to: 

CASSETTE SUBSCRIPTION 

or 

DISK SUBSCRIPTION 

P.O. BOX 615 
HOLMES, PA 19043 

For Fastest Service, 

Call Our Toll-Free 

us Order Line 

800-345-8112 

In Pennsylvania call 800-662-2444 



PAGE 88 



ANALOG COMPUTING 



ISSUE 23 



DR. C. WACKO'S MIRACLE GUIDE 

TO DESIGNING AND PROGRAMMING 

YOUR OWN ATARI COMPUTER 

ARCADE GAMES 

Written by David L. Heller, Jolin F. Johnson 

and Robert Kurcina 

Published by Addison-Wesley 

$24.95 



by Stephen Paul James 




Dr. C. Wackds Miracle Guide explains basic Atari 
character graphics, flip-flop animation, sound and 
player/missile graphics. It lists sample programs and 
includes a floppy disk, so you don't have to type and 
debug the programs. In addition, the book throws in 
numerous cartoon illustrations that simplify anima- 
tion concepts and, generally, teaches in a humorous 
style. 

The introductory chapter describes overall game de- 
sign themes for arcade games, and chapter two starts 
in on the programs. The first programs illustrate ar- 
cade game screens — just backgrounds, nothing else. 
Thus, the beginning program titles are a little mis- 
leading; booting up the programs Super Breakout or 
Tron, you think you're going to get a full game, but 
all you get is a static display with some nice colors. 
However, the displays are colorful, and the strange 
doctor teaches good PLOT, DRAWTO, LOCATE, 
etc. techniques. 

This second chapter also contains a Bong program 
that is reminiscent of the old Pong arcade game. The 
book explains the program in detail, but it isn't uti- 
lized in the book's final game — leading readers to fig- 
ure out by themselves how to incorporate the Bong 
concepts into a full-blown game. 

Character graphics (customizing your own set of 
character symbols to use as arcade figures, monsters, 
space ships, etc.) is discussed in chapter three. The 
character generator utility is called the Monster Mak- 
er and is easy to use and nicely explained. 

Flip-flop animation follows, as Dr. Wacko gives an 
example of how to animate a character. The only 
problem here is that, as his pupils are learning elemen- 
tary programming techniques, the professor adds ma- 
chine language with the USR function. The machine 
language is not explained, which seems logical for an 
introductory book, but the machine language routine 
changes in each animation sample program, leaving 
a sense of wonder — how transportable are the machine 
language routines in other applications? Still, experi- 
mentation is easy and will validate any assumptions. 

A plus for the doctor's class is that one of the ani- 
mation programs can be used in conjunction with the 
Monster Maker (character generator), letting you de- 
velop your own monster face and feet, watching it 
blink its eyes and dance. 



The fifth and sixth chapters deal with joystick 
movement (simple concepts), and then chapter seven 
molds animated figures with joystick controls — a good 
chapter. 




Am£mWm°^ 



Chapter eight advances to figures that chase you 
around the screen. A nice tutorial on collisions and 
wrap-around is included. Nine covers sounds— notes 
and chords. General music theory is lightly covered, 
but (since this isn't a book on music) you aren't be- 
ing trained to conduct a symphony. I thought that 
it would have been nice to see a utility for making 
a bar of music on the screen, hearing it and loading 
it into data statements. But the wacko professor lets 
you use paper and a lot of manual experimenting to 
get the right tune. The book gives a good enough 
foundation for music and other aspects so that you 
could create your own music utility. 

The chapter on player/missile graphics is a good in- 
troductory tutorial on the use of one player The use 

(continued on page 92) 



Until now, there was no reason to bu\; another DOS for your Atari® Computer 



^. rr I i — 1, 



n^uji \^i:< >->i . • ^s^-^-^^Si^^l^^^^M 




1 t 



I 



-; » : . J ^ s 



J r 






1 5 



Ji Mi i£ 












Introducing SpartaDOS™ $39.95 

a resident DOS that supports all drives, all densities, 5V4 and 8 inch, single or double sided, time/date stamping 
of all files, unlimited multiple directories, user created batch files, automatic (intelligent) format selection, works 
with all Atari compatible drives including the ATR8000® . 



. . .Fina//y, true double densiti) for the Atari 1050 and it's affordable! 
Introducing the US Doubler™ . . . $69.95 

turns your Atari 1050 into the drive Atari should have made. Fully compatible with all existing software. When 
used with included SpartaDOS, UltraSpeed™ I/O reads and writes an amazing 3 times faster than your present 
1050 - plus in single density, density and one-half (Atari double) , and true double density! Installation required. 



other fine products from ICD include: The Chip with Archiver I™ . 
coming soon Archiver II™. 

ICD, Inc. 

828 Green Meadow Avenue 

Rockford, IL 61107 

(815) 229-2999 (l-9pm CST) 

order direct or call for the dealer or distributor nearest you . 



$99.95, Happy Archiver™ . . $39.95, and 



Distributors now in: 
United Kingdom and Canada 



Sparta! 



DOS US Doubler UhraSpeed. the Chip, Archiver] and Archiver 11 are trademarks of ICD. Inc. Atari s a regis tpred trademark of Alari Corporation, ATR8000 is a registered trademark of SWP, Inc. 



CIRCLE #135 ON READER SERVICE CARD 



PAGE 90 



ANALOG COMPUTING 



ISSUE 23 



BASIC 
Training^ 




by Tom Hudson 



As was explained last issue, Joel Gluck is unable 
to complete the Our Game column begun in ANA- 
LOG Computing issue 12. I was "volunteered" to take 
over the task of developing a BASIC game and that's 
just what I'm going to do. 

But let's get one thing straight. . .This isn't "our 
game." It's my game and my rules. We're going to take 
the next four issues and write this game— piece by 
piece, discussing as many details as possible. We'll go 
from simple input routines all the way to artificial 
intelligence. 

Are we going to vote on what the game will be? 
No way This is BASIC Training, and I'm the D.I., 
the Drill Instructor. What I say, goes. Of course, if 
you have any suggestions for our next game, after this 
first one is complete, let me know. I know we'll be 
a great team. 

The game. 

True to the military theme of this column, our first 
game will be an adaptation of that old pencil-and- 
paper favorite, Battleship. Before you start moaning 
about "old" ideas, stop and think. The object of this 
column is to teach techniques for writing a BASIC 
game. This game won't win any beauty contests, but 
it'll sure teach you a thing or two. 

The game will fit in 16K. This was quite a trick, 
and we'll see how it was done. 

It's you against the computer, not you against an- 
other player (yecch). The computer's response time 
is very acceptable. 



If you want to make improvements in sound, graph- 
ics and so on, you can. The game's artificial intelli- 
gence (AI) routines are very solid; it even beats me! 
I left out fancy graphics, so it could fit in 16K (most 
of the memory is used by the AI routines). All the 
game will need is some polish and it'll be great. 

Okay, let's get started. 

What's Battleship? 

Battleship is a game for two players (or one player 
and a computer), in which each players tries to sink 
the other player's fleet of five ships. The ships are as 
follows: destroyer (2 units long), cruiser (3 units long), 
submarine (3 units long), battleship (4 units long) and 
aircraft carrier (5 units long). Each player sets up his 
fleet on a ten-by-ten-unit "ocean" grid. The ships will 
be placed either horizontally or vertically They can 
touch each other, but no overlaps are allowed. Figure 
1 shows a typical fleet placement on the ocean grid. 

After the ships are set up for both players, they take 
turns "shooting" at each other's ships. Shooting is 
done by calling out the coordinates of the desired tar- 
get location. Figure 2 shows how the coordinate sys- 
tem of the ocean grid is set up. 

The coordinates used are the letters A through J 
along the left edge of the grid, and the numbers 
through 9 along the top. The individual squares are 
referenced by a letter-number combination. For ex- 
ample, the square in Figure 2 marked with an X would 
be referenced as G4. 

On each turn, the players shoot at one square. The 



ISSUE 23 



ANALOG COMPUTING 



PAGE 91 







C 


— 1 
C 


C 


























S 




















S 






D 















S 


















































A 


A 


A 


A 


A 






B 




















B 




















B 




















B 



D 
C 
S 
B 
A 



DESTROYER 
CRUISER 
SUBNARINE 
BATTLESHIP 
A. CARRIER 



Figure 1. 



ei23456789 



A 
B 
C 
D 

E 
F 
G 
H 
I 
J 



X 



Figure 2. 



opponent fired upon tells whether the shot was a "hit" 
or a "miss." If a ship was sunk, the opponent must 
inform the shooting player that the ship was sunk, 
as well as indicating what type of ship it was. 

Shooting continues until all five of a player's ships 
are sunk. 

Writing the game. 

This issue, we're just going to examine the game 
itself and decide what our program will have to do. 
We won't write any code for the game for a couple 
of installments. Why? The answer is simple. 

When you're thinking of writing a game, you should 
have a very clear idea of exactl^i how the program will 
work. If you just sit down at the computer and start 
coding, you'll be sorry later. One of the best things 
that ever happened to me was when I was thinking 
of writing Livewire (issue 12) while at the West Coast 
Computer Faire. 1 didn't have my computer and was 
forced to think the idea through for over three days! 
By the time I got back to ANALOG, I had the data 
storage format — and most of the code — written in my 
head. 

Okay, now let's see what routines Battleship will 
need. First, the game's ten-by-ten-unit ocean grids 
must be represented in memory somehow and then 
initialized. 

Second, the computer must randomly determine 
who shoots first, the player or the computer. I usual- 
ly refer to this process as the "coin toss." 

Next, there must be a human interface which will 
allow ship positioning and shooting. Both these ac- 
tions will require a grid coordinate conversion from 
the G4-type coordinates to the internal grid represen- 
tation. 

Then, the program must have enough intelligence 
to play a challenging game. This is the key to the 

(continued on next page) 



&• 



INITIALIZE 



SET UP 

COMPUTER'S 

FLEET 



Figure 3, 




PAGE 92 



ANALOG COMPUTING 



ISSUE 23 



game, because nobody wants to play a "pushover." 
There are two phases of artificial intelligence in Bat- 
tleship. The first of these is the fleet placement logic; 
the second is the shooting logic. 

Finally, the computer must be able to determine 
when ships are sunk and if the player or the com- 
puter has won the game. 

Now we know which routines are necessary, so let's 
look at a flowchart of how these routines will work 
together in the final program. Figure 3 shows the gen- 
eral, non-detailed flowchart for Battleship. 

Next issue, we'll analyze the data structures needed 
to write Battleship for Atari BASIC. Until then, may- 
be you should try playing a few games on paper to 
get a "feel" for the logic necessary for the computer 
to play this simple game. D 



Send letters to: 

BASIC Training 

c/o ANALOG Computing 

P.O. Box 23 
Worcester, MA 01603 



Dr. Wacko book review 

(continued from page 88) 

of more players — and missiles shooting out via your 
joystick trigger— is forgotten. Dr. Wacko could have 
been less absent-minded here. 

At the book's end there is a bonus program. Myr- 
tle the Turtle. The book's cover states, "What you 
really want to know is how to write your own Pac- 
Mans. And now, for the first time ever. Dr. C. Wacko, 
world-renowned games programmer, tells all!" 

Myrtle won't make you throw your Pac-Man away, 
but it does consolidate most of the items learned in 
the book into a viable game. However, I think the 
Wacko's principles could have been more systemati- 
cally utilized to develop a more sophisticated bonus 
game. But the book, in all fairness, does an adequate 
job. 

Overall, Dr. Wacko is a good teacher, and his manu- 
script gives a good introductory approach to develop- 
ing arcade-style games. If you graduate from his class, 
games that would appeal to juveniles could be writ- 
ten easily; but, if you want to break into the indus- 
try's arcade programming, better look elsewhere. 

I recommend Dr. Wacko's Miracle Guide to any be- 
ginning programmer— or to any intermediate program- 
mer who wants a good, introductory reference book 
(along with software). 

I wonder what grade Dr. Wacko gave me! D 



Griffin's Lair 

(continued from page 10) 

The module. 

The Temperature Module software is contained in 
the 16K ROM cartridge and is quite simple to use. 
It includes a number of features. One can record tem- 
peratures in the range of -5°C to 45°C (23°F to 
113 °F) with the sensor. Using either Centigrade or 
Fahrenheit, an experiment can be set up to measure 
up to 121 temperatures over a pre-selected timespan 
of from ten seconds to twenty-four hours. A graph 
displays the temperatures as they are recorded. 

Once the experiment is completed, signified by a 
helpful musical tone, one can save the data on disk, 
view the data in tabular form or even print out the 
graph on an Epson printer. Dual temperatures can be 
measured with an additional sensor. 

The sensor can be extended a longer distance from 
the interface with phonojack cables, readily available 
at electronic stores. The sensor can be calibrated for 
greater accuracy using a BASIC program included in 
the manual. 

The manual. 

The instruction manual is an integral part of this 
science package. The software contains its own docu- 
mentation, and it's not necessary to use the manual 
for this purpose. However, the manual does explain 
how to go about setting up an experiment in general 
and describes several projects dealing with tempera- 
ture in particular. These activities, though quite sim- 
ple, are presented in a concise manner which is easy 
to understand. 

There is an excellent chapter which discusses his- 
torical perspectives in the measurement of tempera- 
ture. Following each section is an extensive suggested 
reading list. Several pages of sample tables and graphs 
are included, so that permanent records of the data 
may be kept. The manual, similar to the laboratory 
workbooks used in school, is well organized and very 
successful in its attempts to guide the young inves- 
tigator. 

The proverbial words of vi'isdom . . . 

Atari has certainly gotten off to a good start with 
the first of their science series, this one developed at 
Dickinson College. For ages nine to adult, this educa- 
tional package will be valuable, whether used at home 
or in the classroom. At the very beginning of the 
manual, a Chinese proverb is quoted which summa- 
rizes the benefits of this innovative approach to home 
computer education: 

1 hear, I forget. 
I see, I remember. 
I do, I understand. 

Atari's entry into this field is exciting, and I'm eager- 
ly looking forward to the other modules planned for 
this series. D 




aB8^aggfc> 



^.^ 



Mastering Your Atari 

The 8 programs, "run-ready" on disk and 
explained in the 192 page bool<, each demonstrate 
important concepts of BASIC while providing 
useful, enjoyable software. Programs include: 

• Player — compose songs from your keyboard, 
save, load and edit for perfect music 

• MicroCalc — display calculation program that 
make even complex operations easy 

• Master — a one or two person guessing game 

• Clock — character graphics for a digital clock 
Atari with disk & book just $19.95 

Look for us at the 

International Software Shiow 

Toronto, September 20-23 



The Computerlst Bookcart 

P.O. Box 6502, Chelmsford, MA 01824 
For faster service, ptione: 61 7/256 - 3649. 



MicroCalc for Atari 

This on-screen calculator comes with diskette 
and 48-page manual offering a wide variety of 
useful screens, and a great way to learn BASIC 
expressions if you don't already know them. 

• Unlimited calculation length & complexity 

• Screens can be linked and saved on 
disk/cassette 

• Build a library of customized screens 

• Provide formatted printer output 

Diskette & 48-page manual just $29.95 



For the Freshest Books, Buy Direct! 

• No prehandled books with bent corners 

• Books come direct to your door 

• No time wasted searching store to store 

• 24 hours from order receipt to shipment 

• No shipping/handling charges 

• No sales tax (except 5% MA res.) 

• Check, MO, VISA/MC accepted (prepaid only) 



CIRCLE #136 ON READER SERVICE CARD 



AROUND THE WORLD 




AROUND THE WORLD (ATW), akin to ALI 
BABA® and ULTIMA® , offers you a role- 
playing global challenge filled with adventure, 
danger, and dozens of friends and foes, from 
cardinals to cannibals, asps to tigers. ATW 
is unparalleled in scope, with 40 endless 
scrolling regions - from London through the 
African jungles and the Orient to New York. 
ATW has game saves and a high score Hall 
of Fame. No two games are ever the same. 
For a price much less than other graphic 
adventures, you can embark on your own 
global Odyssey. So order NOW! 

For all ATARI® 48K ■ $29.95 

ORDER SUPERware Dealer 

NOW! 2028 KingshOUSe Rd. inquiries 

Silver Spring, WID 20904 i"vited 
(301) 236-4459 

MC, VISA, AMX, Check, M.O. accepted 
Include $2.00 shipping, MD residents add 5% tax. 



CIRCLE #137 ON READER SERVICE CARD 



^^ 




Catalog of Computers and Supplies 

Our Prices Are WHOLESALE + 10% 

SAMPLES!!! 

ATARI 850 INTERFACE — $220 
Compucat — $163 

RANA 1000 DISK DRIVE — $449 
Compucat — $308 

INDUS GT-Sa^S 
Compucat — $325.60 

We support ttie complete ATARI and 

COMMODORE product lines. 

Ask for our free price list. 

You may order in ttie regular manner or 

download our TeleCatalog and order 

from your computer or terminal. 

(408) 353-1836 

Instant shipping (or as fast as we can). Mastercard & 
Visa accepted (no extra charge). Shipping & 
handling add 5%. California customers add 6.5% 
sales tax. Order by phone (Mon. - Fri. 10 am - 5 pm 
PST). Order by modem (Daily 6 pm - 9 am) from our 
online TeleCatalog. Prices subject to change 
without notice. 

COMPUCAT 

24500 Glenwood Hwy., Los Gatos, CA 95030 



TEACHERS! 
PARENTS! 

i^ ^ i^ 

CRASH FRENCH 

i^ i( ^ 

FOR ATARI 48K DISK 
No graphics, BASIC 

Crash French omits Frencti 
accents, but it can translate 
your choice of 279 entire sen- 
tences! 

With Crash French, you can 

translate meaningful phrases 
right off the bat! That's a home 
run. 

Order Crash French by 

sending $25 and your name, 
etc. to: 

HARDFACTS SOFTWARE 

P.O. BOX BF 
BRIDGEHAMPTON 
NEW YORK 11932 

(+7V4'i/o IN NY) 

Not affiliated with Atari, Inc. 

HARDFACTS SOFTWARE © 1984 



CIRCLE #138 ON READER SERVICE CARD 



CIRCLE #139 ON READER SERVICE CARD 



ATTENTION 
PROGRAMMERS 

Our established literary agency 
is seeising to represent talented 
software authors. If you've writ- 
ten "The Great American Pro- 
gram" but are unsure how to 
market it or to whom or for how 
much, call us. 

Whether it's recreational, edu- 
cational or business, we'll make 
sure that your creation gets the 
audience it deserves — Top Ex- 
ecutives at the leading software 
houses. 

Our clients receive better treat- 
ment and earn more royalties 
because we negotiate the best 
possible deals. Give us a chance 
to go to bat for you. For further 
information on the benefits of 
representation please contact: 

THE ROBERT JACOB AGENCY 

(805) 492-3597 

P.O. Box 4073 

Thousand Oaks, CA 91359 



CIRCLE #140 ON READER SERVICE CARD 



FROM 




THREE 

PDQ DISKS 

AND A NEW 

FUTURE 

59.95 

There is untapped potential in your 
Atari. And, perhaps, in you. . . 

We'd like to share an opportunity too 
unique and worthwhile to describe in an 
ad. We're offering this remarkable 
bargain so you can see It for yourself 
without risk. 

Order three PDQ (Premium Disk Quality) 
Disks (DSDD, 21-year Warranty) for only 
$9.95. The front of each disk is for your 
normal use. Boot In the program on the 
back (min. system: 48-K), and you may 
be surprised at what your Atari tells you. 

Order PDQ! Send just $9.95 to: 
SENECOM 

Dept. 101 

13 White St. 

Seneca Falls, N.Y. 13148 

We'll pay for shipping. 

NYS Residents: add 7% Sales Tax. 

Offer iimited to one order per address 
at this price. 

AtarP is a registered trademar1< of Atari Corporation. 

SENECOM is a registered trademark of 

Seneca Computer Company, inc. 



CIRCLE #106 ON READER SERVICE CARD 



COST EFFECTIVE SOFTWARE 

BY 
'The Best Little Software House In Texas" 

HO ME BASE by soft SECTRE is a 
versaliie dalabase program lor Ihe home, small busi- 
ness or lab in a USER FRIENDLY' MENU driven formal 
HOMEBASE utilizes TWENTY COMMANDS CREATE, 
ADD, LIST, CLIST, CHANGE, CONCATENATE. 
SEARCH, SUM, SORT. DELETE, LABELS, LOAD. 
PRINT. SAVE, DIRECTORY. HELP. DRIVE. AUDIO. 
LOWER CASE, END, An opiional SECURITY CODE 
prevents unalhonzed data lile retrieval and manipula- 
tion Optional AUDIO FEEDBACK signals Ihe end ol a 
command response Ttie ATARI version uses a 
IVIACHINE LANGUAGE SORT! 
HOMEBASE is ideal tor: MAILING LISTS (we use it 
ourselves), household, insurance and equipment IN- 
VENTORIES, MAINTENANCE schedules; a PRESCRIP- 
TION list: refund COUPON and GROCERY lists Ready- 
to-use data tiles lor these tasks are included Why buy 
several programs' Purchase Ihe ONE program thai will 
handle ail ol your database needs HOMEBASE by 
SOFT SECTRE will SAVE you TIME and MONEYI 
SELECTRE by SOFT SECTRE is included in Ihe disk 
based package at no additional charge (a $29 95 
vaiuei) Disk DIRECTORIES and PROGRAMS are 
loaded with numeric key input allowing even Ihe most 
inexperienced person to easily operate the computer 
ATARI OR PET DISK 32K $49 95 
PET TAPE 16K $49 95 

Add $2 00 lor shipping 

SOFT SECTRE 

PO BOX 1821, PLANO.TX 75074 
Send Inr FREE cataiogi VISA/MaslerCard WELCOMED 



CIRCLE #142 ON READER SERVICE CARD 



ISSUE 23 



ANALOG COMPUTING 



PAGE 95 



INDEX TO ADVERTISERS 



READER 

SERVICE # ADVERTISER PAGE # 

129 Abbey's Discount 68 

122 Advanced Interface 54 

132 Allen Macroware 76 

111 ALOG Computing 21 

ANALOG Publishing 58, OBC 

130 Astra Systems 73 

101 Atari, Inc IPC 

125 Axiom 63 

127 Blakmagic Software 66 

117 C.A.R Software 35 

138 Compucat 94 

124 Compu-Club 62 

113 Computability 23 

126 Computer Creations 64 

104 Computer Games Plus 6 

136 Computerist Bookcart 93 

133 Computer Mail Order 78 

112 Computer Palace 22 

118 Cosmic Computers 40 

128 Eastern House 67 

121 Eclipse 52 

144 Future Tech Systems 83 

This index is an additional service. While every effort is made to provide a complete 



READER 
SERVICE # 



123 
139 

135 
102 
110 
109 
134 
131 
120 
107 
143 
114 
103 
140 
116 
106 
142 
108 
134 
105 
119 
115 

and accurate 



ADVERTISER PAGE # 

Happy Computers 61 

Hardfacts Software 94 

ICD, Inc 89 

Infocom 2 

Lateral Software 16 

Lotsa Bytes 11 

Lyco 84 

Microprose 74 

MMG Software 43 

New Horizon Software 7 

O.S.S. Precision Software 96 

PC Gallery 28 

Programmers Workshop 5 

Robert Jacobs, Ltd 94 

Sar-An 34 

Senicom 7, 94 

Soft Sectre 94 

Southern Software 11 

Superware 94 

Tiny Tek 7 

Wedgwood Rental 41 

Xlent Software 32 

listing, the publisher cannot he responsible for inadvertent errors. 



Coming 
soon in 

future 
issues 

of 

ANALOG 

Computing! 





■ . ^>.<:? 


n 


B^S^^HI 


■■ ■ ;..^ 


ttLLSCATC 
SUPPLY: 16 


k^ A 



ill» 



< 



L^\ 



OSS WRITES 

ONLY PRECISION SOFTWARE... 

OUR CUSTOMERS 

WRITE OUR BEST ADS I 

BASIC XL 

"BASIC XL is a fast and powerful extension of Atari BASIC, totally compatible with virtu- 
ally all software. Its many features make programming easy, especially games that re- 
quire player/missile graphics. For people writing business software or translating existing 
programs from other computers, the new string arrays and other string- handling features 
make the task manageable. BASIC XL is a truly professional language that should become 
standard in all future Atari computers. Overall Rating — A." The Addison -Wesley Book of 
Atari Software 1984 
BASIC XL SuperCartridge & Manual (Requires 16K Memory) $99.00 

ACTIOIM! 

"For those who have found BASIC to be too slow or assemblertoo difficult, ACTION! is the 
logical alternative. ACTION! programs can increase speed from 50 to 200 times that of 
BASIC." Jerry White, Antic, February 1984 
ACTION! SuperCartridge & Manual (Requires 16K Memory) $99.00 

MAC/65 

"For the serious machine language programmer or anyone interested in programming in 
6502 machine language, this package is a must. A lot of the good professional software on 
the market, games or otherwise, was written using this brute. Coding machine language 
with anything else is like trying to swim upstream in quicksand." ACE Of West Hartford, 
May 1984 
MAC/65 SuperCartridge & Manual (Requires 16K Memory) $99.00 

Mew Tools To Help You Write Better Programs 

THE BASIC XL TOOLKIT ^ 

Packed with many useful subroutines to expand the capabilities of your BASIC XL pro- I 

gramming and games that demonstrate BASIC XL's speed and versatility. ^ ^ i 

THE BASIC XL TOOLKIT Disk & Manual $39.95 ^"^ 

THE ACTIOIM! TOOLKIT 

A useful library of ACTION! subroutines: PMG.ACT allows easy implementation of 
atari's player/missile graphics; REAL. ACT implements the use of floating point num- 
bers from within ACTION! programs; lO.ACT allows many advanced disk file manipula- ^^ 
tions; many more procedures and demo games. 
THE ACTION! TOOLKIT Disk & Manual $39.95 

THE MAC/65 TOOLKIT 

A special library of macros that will quickly add the macro equivalent of many BASIC com- 
mands to your source file programs, such as: POKE, GOSUB, GET, SETCOLOR, PLOT, _ 

player /missile graphics, smooth scrolling, plus many more commands. M §- k 

THE MAC/65 TOOLKIT Disk & Manual $39.95 ^ »^ 

Now Available At Your Software Dealer 




ei^ 



Optimized Systems Software, Inc. 

1221BKentwood Avenue, San Jose, California 95129 (408)446-3099 
CIRCLE #143 ON READER SERVICE CARD 





Maniac! 



Stuntman 



mm 

o I 8:13 I « 




* « 




pftvs xe 

PftVS 25 
PftYS SB 
PftVS 79 
i -i PftVS 98 

■ ■ ■ pars xsB 

HIK BURS PftVS 180 

^ ^ SS PAYS 258 

PUVS 2809 

1 HUE PLflV . 

BAMKROLt: 30 
BETiO HIM: IB 



Dino Battle 



CofoT Slot Machine 




Fill •Er Up 







^^Bki^H"' " J 



Cufces 



Where can you get all of these programs 
(and dozens more!) for only $14-95? 



PflVii 216-1 


D 

PfiV5 


J8-1 


U5E JOV^TIC 
TO HOyE BET 
POINTER 

TOTftL POV3 ■ 


3-0NE5 
1 3-TMeS 

J-TMBEE5 
1 I-FOUBS 

3-FIUES 

3-5IME1i 


2-OMES 
2-TM05 
2-THREE5 
Z-FOURS 
1 2~FiyE5 
2-5IKES 


3 216-i 

4 72-A 

5 36~i 

6 21-1 

7 14-i 
1 8 18-1 

le fl-1 

1 11 8-1 

2 12 3-1 
1 13 lfl-1 
1 I« 14-1 

IS 21-1 

1 It 3f. 1 

17 ?r-l 

le 2i(i-i 




HI tOUEB IIJ i~l 
1+iO tUMDEB IBJ 1-1 

OWV 3 OF KIMO 36-1 
-+OMV 2 OF KIMD 6-1 




rent: lee 
M1H : 1 T 


FDJCf 



Triple Threat Dice 





3-D Graphs 



- ^CTJ PEN 5IZE TO LARCe 

- 5CT5 PEN 5IZE TO MCBIUM 
•s - ^CT5 PEN SIZE TO "SHALL 

E - 5ET5 PEN TO ERA^E KOOE 

D - 5ETS PEN TO DRAM HOOE 

H - HELP...LI5T^ THE COHI^MO'i 

1 - STARTING POINT FOR FILL 

2 - ENDIM5 POINT FOB FILL 

F - FILLS THE AREA HITH COLOR 

C - CHANGE5 BACKGROUND COLOR 

I - CHANGES BACKGROUND ZMTEMI-Zry 

B - CHANGES PEN BRIGHTNESS 

CLEAR < - CLEARS THE SCREEN 

CTRL-L - LOADS PICTURE FRQH. TAPE 

CTRU-S - SAVES PICTURE TO TAPE 

CTHL-X - EXITS PROGRAM 



^ 
^^s**. 



Sphere Demo 




Leprechaun King 



Sketch Pad 



Harvey Wallhanger 



From the editors of 
A.N.A.L.O.G. Computing 



•mm 



[ '^mm' 


1 




1 1 




^^^ 















a^FILDE 



COMPENDIUM 



The best ATARI® Home Computer Programs from the first ten issues of A.N.A.L.O.G. Computing Magazine. 







.;ia^:-dfrti-:i 



H! ATARI 




E&M 





o.( .»«. 



^' >^*\ r**^, r^, fW^ . 



The ANALOG Compendium is available at selected book and computer stores, or you can order it direct. Send 
a check or money order for $14.95 ^ $2 shipping and handling to: ANALOG Compendium, P. O. Box 615, Holmes 
PA 19043 

Or you can order by phone with MasterCard or VISA. Call toll free: 1-800-345-8112 (in PA call 
1-800-662-2444) For orders outside the U.S., add an additional $5 air mail, $2 surface.